Partilhar via


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

Calcula os resultados intermédios de dcount em registos para os quais o predicado é avaliado como true.

Leia sobre o algoritmo subjacente (HyperLogLog) e a precisão da estimativa.

Nota

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

Importante

Os resultados de hll(), hll_if() e hll_merge() podem ser armazenados e obtidos posteriormente. Por exemplo, poderá querer criar um resumo de utilizadores exclusivos diário, que pode ser utilizado para calcular contagens semanais. No entanto, a representação binária precisa destes resultados pode mudar ao longo do tempo. Não há garantias de que estas funções produzam resultados idênticos para entradas idênticas e, portanto, não aconselhamos que confiem nas mesmas.

Syntax

hll_if(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 ✔️ O Expr utilizado para filtrar registos para adicionar ao resultado intermédio de dcount.
precisão int O valor que controla o equilíbrio entre velocidade e precisão. Se não for especificado, o valor predefinido é 1. Para valores suportados, veja Estimativa de precisão.

Devoluções

Devolve os resultados intermédios da contagem distinta de Expr para a qual Predicado avalia como true.

Dica

  • Pode utilizar a função hll_merge de agregação para intercalar mais do que um hll resultado intermédio. Só funciona com hll saída.
  • Pode utilizar dcount_hll, para calcular a contagem distinta de hllfunções de agregação ou hll_if .hll_merge.

Exemplos

StormEvents
| where State in ("IOWA", "KANSAS")
| summarize hll_flood = hll_if(Source, EventType == "Flood") by State
| project State, SourcesOfFloodEvents = dcount_hll(hll_flood)
Estado SourcesOfFloodEvents
KANSAS 11
IOWA 7

Precisão da estimativa

Precisão Velocidade Erro (%)
0 Mais rápido 1.6
1 Equilibrado 0.8
2 Lento 0,4
3 Lento 0.28
4 Mais lento 0,2