Delen via


dcountif() (aggregatiefunctie)

Van toepassing op: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel-

Maakt een schatting van het aantal afzonderlijke waarden van expr- voor rijen waarin predicaat resulteert in true.

Null-waarden worden genegeerd en worden niet meegenomen in de berekening.

Notitie

Deze functie wordt gebruikt in combinatie met de operator summarize.

Syntaxis

dcountif ( expr, predicaat, [,nauwkeurigheid])

Meer informatie over syntaxisconventies.

Parameters

Naam Type Vereist Beschrijving
expr- string ✔️ De expressie die wordt gebruikt voor de aggregatieberekening.
predicaat string ✔️ De expressie die wordt gebruikt om rijen te filteren.
nauwkeurigheid int De besturing tussen snelheid en nauwkeurigheid. Als deze niet is opgegeven, wordt de standaardwaarde 1. Zie Nauwkeurigheid van schattingen voor ondersteunde waarden.

Retourneert

Geeft als resultaat een schatting van het aantal afzonderlijke waarden van expr voor rijen waarin predicaat resulteert in true.

Fooi

dcountif() kan een fout retourneren in gevallen waarin alle rijen of geen van de rijen de Predicate-expressie doorgeeft.

Voorbeeld

In dit voorbeeld ziet u hoeveel soorten dodelijke stormen zich in elke staat hebben voorgedaan.

StormEvents
| summarize DifferentFatalEvents=dcountif(EventType,(DeathsDirect + DeathsIndirect)>0) by State
| where DifferentFatalEvents > 0
| order by DifferentFatalEvents 

De weergegeven resultatentabel bevat alleen de eerste 10 rijen.

Staat DifferentFatalEvents
CALIFORNIË 12
TEXAS 12
OKLAHOMA 10
ILLINOIS 9
KANSAS 9
NEW YORK 9
NEW JERSEY 7
WASHINGTON 7
MICHIGAN 7
MISSOURI 7
... ...

Nauwkeurigheid van schatting

Deze functie maakt gebruik van een variant van het HyperLogLog-algoritme (HLL), waarmee een stochastische schatting van de setkardinaliteit wordt uitgevoerd. Het algoritme biedt een 'knop' die kan worden gebruikt om de nauwkeurigheid en uitvoeringstijd per geheugengrootte te verdelen:

Nauwkeurigheid Fout (%) Aantal vermeldingen
0 1.6 212
1 0.8 214
2 0.4 216
3 0.28 217
4 0.2 218

Notitie

De kolom Aantal vermeldingen is het aantal 1-bytetellers in de HLL-implementatie.

Het algoritme bevat enkele voorzieningen voor het uitvoeren van een perfecte telling (nulfout), als de setkardinaliteit klein genoeg is:

  • Wanneer het nauwkeurigheidsniveau wordt 1, worden 1000 waarden geretourneerd
  • Wanneer het nauwkeurigheidsniveau wordt 2, worden 8000 waarden geretourneerd

De foutgrens is probabilistisch, niet een theoretische gebonden. De waarde is de standaarddeviatie van foutverdeling (de sigma) en 99,7% van de schattingen hebben een relatieve fout van minder dan 3 x sigma.

In de volgende afbeelding ziet u de kansverdelingsfunctie van de relatieve schattingsfout, in percentages, voor alle ondersteunde nauwkeurigheidsinstellingen:

Grafiek met de hll-foutverdeling.