dcountif() (sammansättningsfunktion)
Beräknar antalet distinkta värden för uttr för rader där predikatet utvärderas till true
.
Null-värden ignoreras och räknas inte in i beräkningen.
Anteckning
Den här funktionen används tillsammans med summarize-operatorn.
Syntax
dcountif
(
expr, predicate, [,
accuracy])
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
Uttryck | string |
✔️ | Uttrycket som används för aggregeringsberäkningen. |
Predikat | string |
✔️ | Uttrycket som används för att filtrera rader. |
Noggrannhet | int |
Kontrollen mellan hastighet och noggrannhet. Om det är ospecificerat är 1 standardvärdet . Se Uppskattningsprecision för värden som stöds. |
Returer
Returnerar en uppskattning av antalet distinkta värden för uttr för rader där predikatet utvärderas till true
.
Tips
dcountif()
kan returnera ett fel i de fall där alla eller ingen av raderna skickar Predicate
uttrycket.
Exempel
Det här exemplet visar hur många typer av allvarliga stormhändelser som inträffat i varje tillstånd.
StormEvents
| summarize DifferentFatalEvents=dcountif(EventType,(DeathsDirect + DeathsIndirect)>0) by State
| where DifferentFatalEvents > 0
| order by DifferentFatalEvents
Resultattabellen som visas innehåller bara de första 10 raderna.
Tillstånd | DifferentFatalEvents |
---|---|
KALIFORNIEN | 12 |
TEXAS | 12 |
OKLAHOMA | 10 |
ILLINOIS | 9 |
KANSAS | 9 |
NEW YORK | 9 |
NEW JERSEY | 7 |
WASHINGTON | 7 |
MICHIGAN | 7 |
MISSOURI | 7 |
... | ... |
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