Delen via


percentiel(), percentielen() (aggregatiefunctie)

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

De functie percentile() berekent een schatting voor de opgegeven dichtstbijzijnde percentiel- van de populatie die is gedefinieerd door expr-. De nauwkeurigheid is afhankelijk van de dichtheid van de populatie in de regio van het percentiel.

percentiles() werkt op dezelfde manier als percentile(). percentiles() kan echter meerdere percentielwaarden tegelijk berekenen, wat efficiënter is dan het afzonderlijk berekenen van elke percentielwaarde.

Zie percentielenw()om gewogen percentielen te berekenen.

Notitie

Deze functie wordt gebruikt in combinatie met de operator summarize.

Syntaxis

percentile( expr,percentiel)

percentiles( expr,percentielen)

Meer informatie over syntaxisconventies.

Parameters

Naam Type Vereist Beschrijving
expr- string ✔️ De expressie die moet worden gebruikt voor aggregatieberekening.
percentiel echt ✔️ Een constante die het percentiel aangeeft.
percentielen echt ✔️ Een of meer door komma's gescheiden percentielen.

Retourneert

Retourneert een tabel met de schattingen voor expr van de opgegeven percentielen in de groep, elk in een afzonderlijke kolom.

Notitie

Als u de percentielen in één kolom wilt retourneren, raadpleegt u Percentielen retourneren als een matrix.

Voorbeelden

In de voorbeelden in deze sectie ziet u hoe u de syntaxis kunt gebruiken om aan de slag te gaan.

In de voorbeelden in dit artikel worden openbaar beschikbare tabellen gebruikt in de Help-cluster, zoals de StormEvents tabel in de Voorbeelden database.

In de voorbeelden in dit artikel worden openbaar beschikbare tabellen gebruikt, zoals de tabel StormEvents in de weather analytics voorbeeldgegevens.

Eén percentiel berekenen

In het volgende voorbeeld ziet u de waarde van DamageProperty groter is dan 95% van de steekproefset en kleiner is dan 5% van de steekproefset.

StormEvents | summarize percentile(DamageProperty, 95) by State

uitvoer

De weergegeven resultatentabel bevat alleen de eerste 10 rijen.

Staat percentile_DamageProperty_95
ATLANTISCHE ZUID 0
FLORIDA 40000
GEORGIË 143333
MISSISSIPPI 80000
AMERIKAANS-SAMOA 250000
KENTUCKY 35000
OHIO 150000
KANSAS 51392
MICHIGAN 49167
ALABAMA 50000

Meerdere percentielen berekenen

In het volgende voorbeeld ziet u de waarde van DamageProperty tegelijkertijd berekend met 5, 50 (mediaan) en 95.

StormEvents | summarize percentiles(DamageProperty, 5, 50, 95) by State

uitvoer

De weergegeven resultatentabel bevat alleen de eerste 10 rijen.

Staat percentile_DamageProperty_5 percentile_DamageProperty_50 percentile_DamageProperty_95
ATLANTISCHE ZUID 0 0 0
FLORIDA 0 0 40000
GEORGIË 0 0 143333
MISSISSIPPI 0 0 80000
AMERIKAANS-SAMOA 0 0 250000
KENTUCKY 0 0 35000
OHIO 0 2000 150000
KANSAS 0 0 51392
MICHIGAN 0 0 49167
ALABAMA 0 0 50000
... ...

Percentielen retourneren als matrix

In plaats van de waarden in afzonderlijke kolommen te retourneren, gebruikt u de functie percentiles_array() om de percentielen in één kolom met een dynamisch matrixtype te retourneren.

Syntaxis

percentiles_array( expr,percentielen)

Parameters

Naam Type Vereist Beschrijving
expr- string ✔️ De expressie die moet worden gebruikt voor aggregatieberekening.
percentielen echt of dynamisch ✔️ Een of meer door komma's gescheiden percentielen of een dynamische matrix van percentielen. Elk percentiel moet een echte waarde zijn.

Retourneert

Retourneert een schatting voor expr van de opgegeven percentielen in de groep als één kolom van het dynamische matrixtype.

Voorbeelden

Door komma's gescheiden percentielen

Meerdere percentielen kunnen worden verkregen als een matrix in één dynamische kolom, in plaats van in meerdere kolommen, net als bij percentielen().

TransformedSensorsData
| summarize percentiles_array(Value, 5, 25, 50, 75, 95), avg(Value) by SensorName

uitvoer

In de resultatentabel worden alleen de eerste 10 rijen weergegeven.

SensorName percentiles_Value avg_Value
sensor-82 ["0.048141473520867069","0.24407515500271132","0.48974511106780577","0.74160998970950343","0.94587903204190071"] 0.493950914
sensor-130 ["0.049200214398937764","0.25735850440187535","0.51206374010048239","0.74182335059053839","0.95210342463616771"] 0.505111463
sensor-56 ["0.04857779335488676","0.24709868149337144","0.49668762923789589","0.74458470404241883","0.94889104840865857"] 0.497955018
sensor-24 ["0.051507199150534679","0.24803904945640423","0.50397070213183581","0.75653888126010793","0.9518782718727431"] 0.501084379
sensor-47 ["0.045991246974755672","0.24644331118208851","0.48089197707088743","0.74475142784472248","0.9518322864959039"] 0.49386228
sensor-135 ["0.05132897529660399","0.24204987641954018","0.48470113942206461","0.74275730068433621","0.94784079559229406"] 0.494817619
sensor-74 ["0.048914714739047828","0.25160926036445724","0.49832498850160978","0.75257887767110776","0.94932261924236094"] 0.501627252
sensor-173 ["0.048333149363009836","0.26084250046756496","0.51288012531934613","0.74964772791583412","0.95156058795294"] 0.505401226
sensor-28 ["0.048511161184567046","0.2547387968731824","0.50101318228599656","0.75693845702682039","0.95243122486483989"] 0.502066244
sensor-34 ["0.049980293859462954","0.25094722564949412","0.50914023067384762","0.75571549713447961","0.95176564809278674"] 0.504309494
... ... ...

Dynamische matrix van percentielen

Percentielen voor percentiles_array kunnen worden opgegeven in een dynamische matrix met gehele getallen of getallen met drijvende komma. De matrix moet constant zijn, maar hoeft niet letterlijk te zijn.

TransformedSensorsData
| summarize percentiles_array(Value, dynamic([5, 25, 50, 75, 95])), avg(Value) by SensorName

uitvoer

In de resultatentabel worden alleen de eerste 10 rijen weergegeven.

SensorName percentiles_Value avg_Value
sensor-82 ["0.048141473520867069","0.24407515500271132","0.48974511106780577","0.74160998970950343","0.94587903204190071"] 0.493950914
sensor-130 ["0.049200214398937764","0.25735850440187535","0.51206374010048239","0.74182335059053839","0.95210342463616771"] 0.505111463
sensor-56 ["0.04857779335488676","0.24709868149337144","0.49668762923789589","0.74458470404241883","0.94889104840865857"] 0.497955018
sensor-24 ["0.051507199150534679","0.24803904945640423","0.50397070213183581","0.75653888126010793","0.9518782718727431"] 0.501084379
sensor-47 ["0.045991246974755672","0.24644331118208851","0.48089197707088743","0.74475142784472248","0.9518322864959039"] 0.49386228
sensor-135 ["0.05132897529660399","0.24204987641954018","0.48470113942206461","0.74275730068433621","0.94784079559229406"] 0.494817619
sensor-74 ["0.048914714739047828","0.25160926036445724","0.49832498850160978","0.75257887767110776","0.94932261924236094"] 0.501627252
sensor-173 ["0.048333149363009836","0.26084250046756496","0.51288012531934613","0.74964772791583412","0.95156058795294"] 0.505401226
sensor-28 ["0.048511161184567046","0.2547387968731824","0.50101318228599656","0.75693845702682039","0.95243122486483989"] 0.502066244
sensor-34 ["0.049980293859462954","0.25094722564949412","0.50914023067384762","0.75571549713447961","0.95176564809278674"] 0.504309494
... ... ...

Het dichtstbijzijnde percentiel

P-th percentiel (0 <P<= 100) van een lijst met geordende waarden, gesorteerd in oplopende volgorde, is de kleinste waarde in de lijst. De P procent van de gegevens is kleiner of gelijk aan P-percentielwaarde (uit wikipedia-artikel over percentielen).

Definieer 0-percentielen om het kleinste lid van de populatie te zijn.

Notitie

Gezien de benadering van de berekening is de werkelijke geretourneerde waarde mogelijk geen lid van de populatie. Definitie van dichtstbijzijnde positie betekent dat P=50 niet voldoet aan de interpolatieve definitie van de mediaan. Bij het evalueren van de significantie van deze discrepantie voor de specifieke toepassing, moet rekening worden gehouden met de grootte van de populatie en een schattingsfout.

Schattingsfout in percentielen

De statistische percentielen biedt een geschatte waarde met behulp van T-Digest-.

Notitie

  • De grenzen van de schattingsfout variëren met de waarde van het aangevraagde percentiel. De beste nauwkeurigheid is aan beide uiteinden van de schaal [0..100]. Percentielen 0 en 100 zijn de exacte minimum- en maximumwaarden van de verdeling. De nauwkeurigheid neemt geleidelijk af naar het midden van de schaal. Het is slechtst in de mediaan en wordt beperkt tot 1%.
  • Foutgrenzen worden waargenomen op de positie, niet op de waarde. Stel dat percentiel(X, 50) een waarde van Xm heeft geretourneerd. De schatting garandeert dat ten minste 49% en maximaal 51% van de waarden van X kleiner of gelijk zijn aan Xm. Er is geen theoretische limiet voor het verschil tussen Xm en de werkelijke mediaanwaarde van X.
  • De schatting kan soms resulteren in een nauwkeurige waarde, maar er zijn geen betrouwbare voorwaarden om te definiëren wanneer dit het geval is.