Partilhar via


dcountif() (função de agregação)

Aplica-se a: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Estima o número de valores distintos de expr para linhas nas quais predicado avalia como true.

Os valores nulos são ignorados e não entram no cálculo.

Observação

Esta função é usada em conjunto com o operador resumo.

Sintaxe

dcountif ( expr, predicado, [,precisão])

Saiba mais sobre convenções de sintaxe.

Parâmetros

Designação Tipo Necessário Descrição
EXPR string ✔️ A expressão usada para o cálculo de agregação.
predicado string ✔️ A expressão usada para filtrar linhas.
precisão int O controlo entre velocidade e precisão. Se não for especificado, o valor padrão será 1. Consulte de precisão da estimativa para obter os valores suportados.

Devoluções

Devolve uma estimativa do número de valores distintos de de expiração para linhas nas quais predicado avalia como true.

Dica

dcountif() pode retornar um erro nos casos em que todas ou nenhuma das linhas passam a expressão Predicate.

Exemplos

O exemplo a seguir mostra quantos tipos de eventos fatais de tempestade aconteceram em cada estado.

StormEvents
| summarize DifferentFatalEvents=dcountif(EventType,(DeathsDirect + DeathsIndirect)>0) by State
| where DifferentFatalEvents > 0
| order by DifferentFatalEvents 

A tabela de resultados mostrada inclui apenas as primeiras 10 linhas.

Estado DifferentFatalEvents
CALIFÓRNIA 12
TEXAS 12
OKLAHOMA 10
ILLINOIS 9
KANSAS 9
NOVA IORQUE 9
NOVA JÉRSIA 7
WASHINGTON 7
MICHIGAN 7
MISSOURI 7
... ...

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:

Gráfico mostrando a distribuição de erro hll.