dcount() (função de agregação)
Calcula uma estimativa do número de valores distintos que são tomados por uma expressão escalar no grupo de resumo.
Os valores nulos são ignorados e não têm em conta o cálculo.
Nota
A dcount()
função de agregação é essencialmente útil para estimar a cardinalidade de conjuntos enormes. Troca a precisão do desempenho e pode devolver um resultado que varia entre execuções. A ordem das entradas pode ter um efeito na saída.
Nota
Esta função é utilizada em conjunto com o operador summarize.
Syntax
dcount
(
expr[,
precisão])
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Tipo | Necessário | Descrição |
---|---|---|---|
expr | string |
✔️ | A entrada cujos valores distintos devem ser contados. |
precisão | int |
O valor que define a precisão da estimativa pedida. O valor predefinido é 1 . Veja Estimar a precisão dos valores suportados. |
Devoluções
Devolve uma estimativa do número de valores distintos de expr no grupo.
Exemplo
Este exemplo mostra quantos tipos de eventos storm ocorreram em cada estado.
StormEvents
| summarize DifferentEvents=dcount(EventType) by State
| order by DifferentEvents
A tabela de resultados apresentada inclui apenas as primeiras 10 linhas.
Estado | DifferentEvents |
---|---|
TEXAS | 27 |
CALIFÓRNIA | 26 |
Porto | 25 |
GEÓRGIA | 24 |
ILLINOIS | 23 |
MARYLAND | 23 |
CAROLINA DO NORTE | 23 |
Viana do Castelo | 22 |
FLORIDA | 22 |
OREGON | 21 |
KANSAS | 21 |
... | ... |
Precisão da estimativa
Esta função utiliza uma variante do algoritmo HyperLogLog (HLL), que faz uma estimativa estocástica da cardinalidade definida. O algoritmo fornece um "botão" que pode ser utilizado para equilibrar a precisão e o tempo de execução por tamanho da memória:
Precisão | Erro (%) | Contagem de entradas |
---|---|---|
0 | 1.6 | 212 |
1 | 0.8 | 214 |
2 | 0,4 | 216 |
3 | 0.28 | 217 |
4 | 0,2 | 218 |
Nota
A coluna "contagem de entradas" é o número de contadores de 1 byte na implementação HLL.
O algoritmo inclui algumas disposições para fazer uma contagem perfeita (erro zero), se a cardinalidade definida for suficientemente pequena:
- Quando o nível de precisão é
1
, são devolvidos 1000 valores - Quando o nível de precisão é
2
, são devolvidos 8000 valores
O limite de erros é probabilístico, não é um vínculo teórico. O valor é o desvio padrão da distribuição de erros (o sigma) e 99,7% das estimativas terão um erro relativo inferior a 3 x sigma.
A imagem seguinte mostra a função de distribuição de probabilidade do erro de estimativa relativa, em percentagens, para todas as definições de precisão suportadas:
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários