dcount() (funzione di aggregazione)
Calcola una stima del numero di valori distinti acquisiti da un'espressione scalare nel gruppo di riepilogo.
I valori Null vengono ignorati e non vengono fattorizzati nel calcolo.
Nota
La funzione di aggregazione dcount()
è utile principalmente per stimare la cardinalità di enormi set. Scambia l'accuratezza per le prestazioni e può restituire un risultato che varia tra le esecuzioni. L'ordine degli input può avere un effetto sull'output.
Nota
Questa funzione viene usata insieme all'operatore summarize.
Sintassi
dcount
(
expr[,
accuratezza])
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Tipo | Obbligatoria | Descrizione |
---|---|---|---|
Expr | string |
✔️ | Input i cui valori distinti devono essere conteggiati. |
Precisione | int |
Valore che definisce l'accuratezza della stima richiesta. Il valore predefinito è 1 . Vedere Accuratezza della stima per i valori supportati. |
Restituisce
Restituisce una stima del numero di valori distinti di expr nel gruppo.
Esempio
Questo esempio mostra quanti tipi di eventi storm si sono verificati in ogni stato.
StormEvents
| summarize DifferentEvents=dcount(EventType) by State
| order by DifferentEvents
La tabella dei risultati mostrata include solo le prime 10 righe.
State | DifferentEvents |
---|---|
TEXAS | 27 |
CALIFORNIA | 26 |
PENNSYLVANIA | 25 |
GEORGIA | 24 |
ILLINOIS | 23 |
MARYLAND | 23 |
CAROLINA DEL NORD | 23 |
MICHIGAN | 22 |
FLORIDA | 22 |
OREGON | 21 |
KANSAS | 21 |
... | ... |
Accuratezza della stima
Questa funzione usa una variante dell'algoritmo HyperLogLog (HLL), che esegue una stima stocastica della cardinalità set. 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