Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Applies to: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
The percentile() function calculates an estimate for the specified nearest-rank percentile of the population defined by 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.
To calculate weighted percentiles, see percentilesw().
Note
This function is used in conjunction with the summarize operator.
Syntax
percentile(
expr,percentile)
percentiles(
expr,percentiles)
Learn more about syntax conventions.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| expr | string |
✔️ | De expressie die moet worden gebruikt voor aggregatieberekening. |
| percentile | real | ✔️ | Een constante die het percentiel aangeeft. |
| percentiles | real | ✔️ | Een of meer door komma's gescheiden percentielen. |
Returns
Returns a table with the estimates for expr of the specified percentiles in the group, each in a separate column.
Note
Als u de percentielen in één kolom wilt retourneren, raadpleegt u Percentielen retourneren als een matrix.
Examples
In de voorbeelden in deze sectie ziet u hoe u de syntaxis kunt gebruiken om aan de slag te gaan.
The examples in this article use publicly available tables in the help cluster, such as the
StormEventstable in the Samples database.
The examples in this article use publicly available tables, such as the
Weathertable in the Weather analytics sample gallery. Mogelijk moet u de tabelnaam in de voorbeeldquery wijzigen zodat deze overeenkomt met de tabel in uw werkruimte.
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
Output
De weergegeven resultatentabel bevat alleen de eerste 10 rijen.
| State | percentile_DamageProperty_95 |
|---|---|
| ATLANTIC SOUTH | 0 |
| FLORIDA | 40000 |
| GEORGIA | 143333 |
| MISSISSIPPI | 80000 |
| AMERICAN 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
Output
De weergegeven resultatentabel bevat alleen de eerste 10 rijen.
| State | percentile_DamageProperty_5 | percentile_DamageProperty_50 | percentile_DamageProperty_95 |
|---|---|---|---|
| ATLANTIC SOUTH | 0 | 0 | 0 |
| FLORIDA | 0 | 0 | 40000 |
| GEORGIA | 0 | 0 | 143333 |
| MISSISSIPPI | 0 | 0 | 80000 |
| AMERICAN 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.
Syntax
percentiles_array(
expr,percentiles)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| expr | string |
✔️ | De expressie die moet worden gebruikt voor aggregatieberekening. |
| percentiles | echt of dynamisch | ✔️ | Een of meer door komma's gescheiden percentielen of een dynamische matrix van percentielen. Elk percentiel moet een echte waarde zijn. |
Returns
Returns an estimate for expr of the specified percentiles in the group as a single column of dynamic array type.
Examples
Comma-separated percentiles
Multiple percentiles can be obtained as an array in a single dynamic column, instead of in multiple columns as with percentiles().
TransformedSensorsData
| summarize percentiles_array(Value, 5, 25, 50, 75, 95), avg(Value) by SensorName
Output
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
Output
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 |
| ... | ... | ... |
Nearest-rank percentile
P-th percentile (0 <P<= 100) of a list of ordered values, sorted in ascending order, is the smallest value in the list. The P percent of the data is less or equal to P-th percentile value (from Wikipedia article on percentiles).
Define 0-th percentiles to be the smallest member of the population.
Note
Gezien de benadering van de berekening is de werkelijke geretourneerde waarde mogelijk geen lid van de populatie. Nearest-rank definition means that P=50 does not conform to the interpolative definition of the median. When evaluating the significance of this discrepancy for the specific application, the size of the population and an estimation error should be taken into account.
Schattingsfout in percentielen
The percentiles aggregate provides an approximate value using T-Digest.
Note
- 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.