dcount() (função de agregação)
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
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 entram no cálculo.
Observação
A função de agregação dcount()
é principalmente útil para estimar a cardinalidade de conjuntos enormes. Ele troca precisão por desempenho e pode retornar um resultado que varia entre as execuções. A ordem das entradas pode ter um efeito sobre a sua saída.
Observação
Esta função é usada em conjunto com o operador resumo.
Sintaxe
dcount
(
expr[,
precisão])
Saiba mais sobre convenções de sintaxe.
Parâmetros
Devoluções
Devolve uma estimativa do número de valores distintos de expr no grupo.
Exemplo
Este exemplo mostra quantos tipos de eventos de tempestade aconteceram em cada estado.
StormEvents
| summarize DifferentEvents=dcount(EventType) by State
| order by DifferentEvents
A tabela de resultados mostrada inclui apenas as primeiras 10 linhas.
Estado | DifferentEvents |
---|---|
TEXAS | 27 |
CALIFÓRNIA | 26 |
PENSILVÂNIA | 25 |
GEÓRGIA | 24 |
ILLINOIS | 23 |
MARYLAND | 23 |
CAROLINA DO NORTE | 23 |
MICHIGAN | 22 |
FLÓRIDA | 22 |
OREGÃO | 21 |
KANSAS | 21 |
... | ... |
Precisão da estimativa
Esta função usa uma variante do algoritmo HyperLogLog (HLL), que faz uma estimativa estocástica da cardinalidade do conjunto. O algoritmo fornece um "botão" que pode ser usado para equilibrar a precisão e o tempo de execução por tamanho de memória:
Exatidã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 |
Observação
A coluna "contagem de entradas" é o número de contadores de 1 byte na implementação HLL.
O algoritmo inclui algumas provisões para fazer uma contagem perfeita (erro zero), se a cardinalidade definida for pequena o suficiente:
- Quando o nível de precisão é
1
, 1000 valores são retornados - Quando o nível de precisão é
2
, 8000 valores são retornados
O limite de erro é probabilístico, não um limite teórico. O valor é o desvio padrão da distribuição de erro (sigma), e 99,7% das estimativas terão um erro relativo inferior a 3 x sigma.
A imagem a seguir mostra a função de distribuição de probabilidade do erro relativo de estimativa, em porcentagens, para todas as configurações de precisão suportadas: