dcount() (aggregációs függvény)

Kiszámítja az összesítő csoportban lévő skaláris kifejezés által vett különböző értékek számának becslését.

A null értékek figyelmen kívül lesznek hagyva, és nem számítanak bele a számításba.

Megjegyzés

Az dcount() aggregációs függvény elsősorban a hatalmas készletek számosságának becsléséhez hasznos. A teljesítmény pontosságát adja vissza, és a végrehajtások között eltérő eredményt ad vissza. A bemenetek sorrendje hatással lehet a kimenetére.

Megjegyzés

Ezt a függvényt az összegző operátorral együtt használja a rendszer.

Syntax

dcount(expr[,pontosság])

További információ a szintaxis konvenciókról.

Paraméterek

Név Típus Kötelező Leírás
Kifejezés string ✔️ Az a bemenet, amelynek eltérő értékeit meg kell számolni.
Pontosság int A kért becslés pontosságát meghatározó érték. Az alapértelmezett érték 1. A támogatott értékek becslési pontosságát lásd: Becslés pontossága .

Válaszok

A csoport különböző értékeinek számát adja eredményül.

Példa

Ez a példa azt mutatja be, hogy hány típusú viharesemény történt az egyes állapotokban.

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

A megjelenített eredménytábla csak az első 10 sort tartalmazza.

Állapot DifferentEvents
TEXAS 27
CALIFORNIA 26
PENNSYLVANIA 25
GRÚZIA 24
ILLINOIS 23
MARYLAND 23
ÉSZAK-KAROLINA 23
MICHIGAN 22
FLORIDA 22
OREGON 21
KANSAS 21
... ...

Becslés pontossága

Ez a függvény a HyperLogLog (HLL) algoritmus egy variánsát használja, amely a beállított számosság sztochasztikus becslését végzi el. Az algoritmus egy "gombot" biztosít, amellyel kiegyensúlyozni lehet a memóriaméretenkénti pontosságot és végrehajtási időt:

Pontosság Hiba (%) Bejegyzésszám
0 1.6 212
1 0,8 214
2 0,4 216
3 0,28 217
4 0,2 218

Megjegyzés

A "bejegyzésszám" oszlop az 1 bájtos számlálók száma a HLL-implementációban.

Az algoritmus tartalmaz néhány rendelkezést a tökéletes szám (nulla hiba) elvégzésére, ha a beállított számosság elég kicsi:

  • Ha a pontossági szint , 1a rendszer 1000 értéket ad vissza
  • Ha a pontossági szint , 2a rendszer 8000 értéket ad vissza

A hibakötés valószínűségi, nem elméleti kötött. Az érték a hibaeloszlás szórása (a szigma), és a becslések 99,7%-a 3 x szigma alatti relatív hibával fog rendelkezni.

Az alábbi képen a relatív becslési hiba valószínűségeloszlási függvénye látható százalékban az összes támogatott pontossági beállítás esetében:

A hll hibaeloszlást ábrázoló grafikon.