dcount() (sammansättningsfunktion)
Beräknar en uppskattning av antalet distinkta värden som tas av ett skalärt uttryck i sammanfattningsgruppen.
Null-värden ignoreras och räknas inte in i beräkningen.
Anteckning
Aggregeringsfunktionen dcount()
är främst användbar för att uppskatta kardinaliteten för stora uppsättningar. Det handlar om noggrannhet för prestanda och kan returnera ett resultat som varierar mellan körningar. Ordningen på indata kan påverka dess utdata.
Anteckning
Den här funktionen används tillsammans med summarize-operatorn.
Syntax
dcount
(
expr[,
accuracy])
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
Uttryck | string |
✔️ | Indata vars distinkta värden ska räknas. |
Noggrannhet | int |
Det värde som definierar den begärda uppskattningsprecisionen. Standardvärdet är 1 . Se Uppskattningsprecision för värden som stöds. |
Returer
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 bara de första 10 raderna.
Tillstånd | 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 HLL-algoritmen (HyperLogLog), som gör en stokastisk uppskattning av den angivna kardinaliteten. Algoritmen ger en "ratt" 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 |
Anteckning
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 kommer att ha 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:
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för