dcount() (agregační funkce)

Vypočítá odhad počtu jedinečných hodnot, které jsou převzaty skalárním výrazem v souhrnné skupině.

Hodnoty null se ignorují a nezapočítávají se do výpočtu.

Poznámka

Agregační dcount() funkce je primárně užitečná pro odhad kardinality velkých množin. Vymění přesnost za výkon a může vrátit výsledek, který se v jednotlivých provedeních liší. Pořadí vstupů může mít vliv na jeho výstup.

Poznámka

Tato funkce se používá ve spojení s operátorem summarize.

Syntax

dcount(expr[,accuracy])

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Vyžadováno Popis
Výraz string ✔️ Vstup, jehož jedinečné hodnoty se mají spočítat.
Přesnost int Hodnota, která definuje požadovanou přesnost odhadu. Výchozí hodnota je 1. Podporované hodnoty najdete v tématu Přesnost odhadu .

Návraty

Vrátí odhad počtu jedinečných hodnot výrazu ve skupině.

Příklad

Tento příklad ukazuje, kolik typů událostí stormu se v jednotlivých stavech stalo.

StormEvents
| summarize DifferentEvents=dcount(EventType) by State
| order by DifferentEvents

Zobrazená tabulka výsledků obsahuje pouze prvních 10 řádků.

Stav DifferentEvents
TEXAS 27
KALIFORNIE 26
PENNSYLVANIA 25
GRUZIE 24
ILLINOIS 23
MARYLAND 23
SEVERNÍ KAROLÍNA 23
MICHIGAN 22
FLORIDA 22
OREGON 21
KANSAS 21
... ...

Přesnost odhadu

Tato funkce používá variantu algoritmu HyperLogLog (HLL), který provádí stochastický odhad kardinality sady. Algoritmus poskytuje "knoflík", který lze použít k vyvážení přesnosti a doby provádění na velikost paměti:

Přesnost Chyba (%) Počet položek
0 1.6 212
1 0.8 214
2 0.4 216
3 0,28 217
4 0.2 218

Poznámka

Sloupec "počet položek" je počet čítačů 1 bajtů v implementaci HLL.

Algoritmus obsahuje některá ustanovení pro provedení dokonalého počtu (nulová chyba), pokud je nastavená kardinalita dostatečně malá:

  • Pokud je 1úroveň přesnosti , vrátí se 1 000 hodnot.
  • Pokud je 2úroveň přesnosti , vrátí se 8000 hodnot.

Vázaná chyba je pravděpodobnostní, nikoli teoretická. Hodnota je směrodatná odchylka rozdělení chyb (sigma) a 99,7 % odhadů bude mít relativní chybu nižší než 3 x sigma.

Následující obrázek znázorňuje funkci rozdělení pravděpodobnosti chyby relativního odhadu v procentech pro všechna podporovaná nastavení přesnosti:

Graf znázorňující distribuci chyb HLL