dcountif() (função de agregação)
Calcula o número de valores distintos de expr para linhas em que o predicado é avaliado como true
.
Os valores nulos são ignorados e não têm em conta o cálculo.
Nota
Esta função é utilizada em conjunto com o operador summarize.
Syntax
dcountif
(
expr, predicado, [,
precisão])
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Tipo | Necessário | Descrição |
---|---|---|---|
expr | string |
✔️ | A expressão utilizada para o cálculo de agregação. |
predicado | string |
✔️ | A expressão utilizada para filtrar linhas. |
precisão | int |
O controlo entre a velocidade e a precisão. Se não for especificado, 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 para linhas em que o predicado é avaliado como true
.
Dica
dcountif()
pode devolver um erro nos casos em que todas ou nenhuma das linhas passa a Predicate
expressão.
Exemplo
Este exemplo mostra quantos tipos de eventos de tempestade fatais ocorreram em cada estado.
StormEvents
| summarize DifferentFatalEvents=dcountif(EventType,(DeathsDirect + DeathsIndirect)>0) by State
| where DifferentFatalEvents > 0
| order by DifferentFatalEvents
A tabela de resultados apresentada inclui apenas as primeiras 10 linhas.
Estado | DifferentFatalEvents |
---|---|
CALIFÓRNIA | 12 |
TEXAS | 12 |
OKLAHOMA | 10 |
ILLINOIS | 9 |
KANSAS | 9 |
NEW YORK | 9 |
NOVA JERSEY | 7 |
WASHINGTON | 7 |
Viana do Castelo | 7 |
MISSOURI | 7 |
... | ... |
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