Delen via


dcount() (aggregatiefunctie)

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

Berekent een schatting van het aantal afzonderlijke waarden dat wordt genomen door een scalaire expressie in de samenvattingsgroep.

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

Notitie

De dcount() aggregatiefunctie is voornamelijk handig voor het schatten van de kardinaliteit van enorme sets. De nauwkeurigheid voor prestaties wordt verhandeld en kan een resultaat retourneren dat varieert tussen uitvoeringen. De volgorde van invoer kan een effect hebben op de uitvoer.

Notitie

Deze functie wordt gebruikt in combinatie met de operator summarize.

Syntaxis

dcount ( expr[,nauwkeurigheid])

Meer informatie over syntaxisconventies.

Parameters

Naam Type Vereist Beschrijving
expr- string ✔️ De invoer waarvan de afzonderlijke waarden moeten worden geteld.
nauwkeurigheid int De waarde die de aangevraagde schattingnauwkeurigheid definieert. De standaardwaarde is 1. Zie Nauwkeurigheid van schattingen voor ondersteunde waarden.

Retourneert

Retourneert een schatting van het aantal afzonderlijke waarden van expr in de groep.

Voorbeeld

In dit voorbeeld ziet u hoeveel soorten storm gebeurtenissen in elke status zijn opgetreden.

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

De weergegeven resultatentabel bevat alleen de eerste 10 rijen.

Staat DifferentEvents
TEXAS 27
CALIFORNIË 26
PENNSYLVANIA 25
GEORGIË 24
ILLINOIS 23
MARYLAND 23
NORTH CAROLINA 23
MICHIGAN 22
FLORIDA 22
OREGON 21
KANSAS 21
... ...

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.