dcount() (aggregatiefunctie)
Berekent een schatting van het aantal afzonderlijke waarden dat wordt genomen door een scalaire expressie in de samenvattingsgroep.
Null-waarden worden genegeerd en houden geen rekening met de berekening.
Notitie
De dcount()
aggregatiefunctie is voornamelijk handig voor het schatten van de kardinaliteit van grote sets. Het wisselt nauwkeurigheid voor prestaties en kan een resultaat retourneren dat varieert tussen uitvoeringen. De volgorde van de invoer kan van invloed zijn op de uitvoer.
Notitie
Deze functie wordt gebruikt in combinatie met de operator summarize.
Syntax
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 schattingsnauwkeurigheid definieert. De standaardwaarde is 1 . Zie Schattingsnauwkeurigheid voor ondersteunde waarden. |
Retouren
Retourneert een schatting van het aantal afzonderlijke waarden van expr in de groep.
Voorbeeld
In dit voorbeeld ziet u hoeveel soorten stormen er in elke status hebben plaatsgevonden.
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 |
... | ... |
Schattingsnauwkeurigheid
Deze functie maakt gebruik van een variant van het algoritme HyperLogLog (HLL), waarmee een stochastische schatting van de ingestelde kardinaliteit 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 ingestelde kardinaliteit klein genoeg is:
- Wanneer het nauwkeurigheidsniveau is
1
, worden 1000 waarden geretourneerd - Wanneer het nauwkeurigheidsniveau is
2
, worden 8000 waarden geretourneerd
De foutgrens is probabilistisch, geen theoretische gebondenheid. De waarde is de standaarddeviatie van de foutverdeling (de sigma) en 99,7% van de schattingen heeft 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:
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor