dcount() (sammansättningsfunktion)
Gäller för: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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
1
returneras 1 000 värden - När noggrannhetsnivån är
2
returneras 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: