Dela via


dcount() (sammansättningsfunktion)

Gäller för: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Beräknar en uppskattning av antalet distinkta värden som tas av ett skalärt uttryck i sammanfattningsgruppen.

Null-värden ignoreras och tar inte hänsyn till beräkningen.

Not

Aggregeringsfunktionen dcount() är främst användbar för att uppskatta kardinaliteten för stora uppsättningar. Det handlar noggrannhet för prestanda och kan returnera ett resultat som varierar mellan körningar. Ordningen på indata kan påverka dess utdata.

Not

Den här funktionen används tillsammans med operatorn summarize.

Syntax

dcount ( uttr[,noggrannhet])

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Krävs Beskrivning
uttr string ✔️ Indata vars distinkta värden ska räknas.
noggrannhet int Värdet som definierar den begärda uppskattningsnoggrannheten. Standardvärdet är 1. Mer information om värden som stöds finns i Noggrannhet för uppskattning.

Returnerar

Returnerar en uppskattning av antalet distinkta värden för uttr i gruppen.

Exempel

Det här exemplet visar hur många typer av stormhändelser som inträffat i varje tillstånd.

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

Resultattabellen som visas innehåller endast de första 10 raderna.

Stat DifferentEvents
TEXAS 27
KALIFORNIEN 26
PENNSYLVANIA 25
GEORGIEN 24
ILLINOIS 23
MARYLAND 23
NORTH CAROLINA 23
MICHIGAN 22
FLORIDA 22
OREGON 21
KANSAS 21
... ...

Uppskattningsnoggrannhet

Den här funktionen använder en variant av algoritmen HyperLogLog (HLL), som gör en stokastisk uppskattning av uppsättningens kardinalitet. Algoritmen ger en "knopp" som kan användas för att balansera noggrannhet och körningstid per minnesstorlek:

Noggrannhet Fel (%) Antal poster
0 1.6 212
1 0.8 214
2 0.4 216
3 0.28 217
4 0.2 218

Not

Kolumnen "antal poster" är antalet 1 byte-räknare i HLL-implementeringen.

Algoritmen innehåller vissa bestämmelser för att göra ett perfekt antal (noll fel), om den inställda kardinaliteten är tillräckligt liten:

  • När noggrannhetsnivån är 1returneras 1 000 värden
  • När noggrannhetsnivån är 2returneras 8 000 värden

Felgränsen är probabilistisk, inte en teoretisk bindning. Värdet är standardavvikelsen för felfördelningen (sigma) och 99,7% av uppskattningarna har ett relativt fel på under 3 x sigma.

Följande bild visar sannolikhetsfördelningsfunktionen för det relativa uppskattningsfelet, i procent, för alla noggrannhetsinställningar som stöds:

Graph som visar hll-felfördelningen.