dcountif() (funzione di aggregazione)
Stima il numero di valori distinti di expr per le righe in cui il predicato restituisce true
.
I valori Null vengono ignorati e non fanno parte del calcolo.
Nota
Questa funzione viene usata insieme all'operatore di riepilogo.
Sintassi
dcountif
(
expr, predicato, [,
accuratezza])
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Tipo | Obbligatoria | Descrizione |
---|---|---|---|
Expr | string |
✔️ | Espressione usata per il calcolo dell'aggregazione. |
Predicato | string |
✔️ | Espressione usata per filtrare le righe. |
Precisione | int |
Controllo tra velocità e accuratezza. Se non specificato, il valore predefinito è 1 . Vedere Accuratezza della stima per i valori supportati. |
Restituisce
Restituisce una stima del numero di valori distinti di expr per le righe in cui il predicato restituisce true
.
Suggerimento
dcountif()
può restituire un errore nei casi in cui tutti o nessuno delle righe passa l'espressione Predicate
.
Esempio
In questo esempio viene illustrato il numero di tipi di eventi storm irreversibili in ogni stato.
StormEvents
| summarize DifferentFatalEvents=dcountif(EventType,(DeathsDirect + DeathsIndirect)>0) by State
| where DifferentFatalEvents > 0
| order by DifferentFatalEvents
La tabella dei risultati mostrata include solo le prime 10 righe.
State | DifferentFatalEvents |
---|---|
CALIFORNIA | 12 |
TEXAS | 12 |
OKLAHOMA | 10 |
ILLINOIS | 9 |
KANSAS | 9 |
NEW YORK | 9 |
NEW JERSEY | 7 |
WASHINGTON | 7 |
MICHIGAN | 7 |
MISSOURI | 7 |
... | ... |
Accuratezza della stima
Questa funzione usa una variante dell'algoritmo HyperLogLog (HLL), che esegue una stima stocastica della cardinalità impostata. L'algoritmo fornisce una "manopola" che può essere usata per bilanciare l'accuratezza e il tempo di esecuzione in base alle dimensioni della memoria:
Accuratezza | Errori (%) | Numero di voci |
---|---|---|
0 | 1.6 | 212 |
1 | 0,8 | 214 |
2 | 0,4 | 216 |
3 | 0,28 | 217 |
4 | 0,2 | 218 |
Nota
La colonna "Numero di voci" corrisponde al numero di contatori di 1 byte nell'implementazione di HLL.
L'algoritmo include alcune clausole per eseguire un conteggio perfetto (zero errori) se la cardinalità del set è sufficientemente piccola:
- Se il livello di accuratezza è
1
, vengono restituiti 1000 valori - Se il livello di accuratezza è
2
, vengono restituiti 8000 valori
Il limite di errore è probabilistico, non teorico. Il valore è la deviazione standard della distribuzione degli errori (sigma) e il 99,7% delle stime avrà un errore relativo inferiore a 3 x sigma.
L'immagine seguente mostra la funzione di distribuzione delle probabilità di errore relativo nella stima, in percentuali, per tutte le impostazioni di accuratezza supportate:
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per