Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
Die Genauigkeit hängt von der Bevölkerungsdichte in der Region des Perzentils ab.
percentiles() funktioniert ähnlich wie percentile().
percentiles() Kann jedoch mehrere Quantilwerte gleichzeitig berechnen, was effizienter ist als die Berechnung jedes Quantilwerts separat.
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 |
✔️ | Der Ausdruck, der für die Aggregationsberechnung verwendet werden soll. |
| percentile | real | ✔️ | Eine Konstante, die das Quantil angibt. |
| percentiles | real | ✔️ | Ein oder mehrere kommagetrennte Quantile. |
Returns
Returns a table with the estimates for expr of the specified percentiles in the group, each in a separate column.
Note
Informationen zum Zurückgeben der Quantils in einer einzelnen Spalte finden Sie unter "Perzentile zurückgeben" als Array.
Examples
Die Beispiele in diesem Abschnitt zeigen, wie Sie die Syntax verwenden, um Ihnen den Einstieg zu erleichtern.
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. Möglicherweise müssen Sie den Tabellennamen in der Beispielabfrage so ändern, dass er der Tabelle in Ihrem Arbeitsbereich entspricht.
Berechnen eines einzelnen Quantils
Das folgende Beispiel zeigt den Wert, der DamageProperty größer als 95 % des Beispielsatzes und kleiner als 5 % des Beispielsatzes ist.
StormEvents | summarize percentile(DamageProperty, 95) by State
Output
Die angezeigte Ergebnistabelle enthält nur die ersten 10 Zeilen.
| 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 |
Berechnen mehrerer Quantils
Das folgende Beispiel zeigt den Wert der DamageProperty gleichzeitigen Berechnung mit 5, 50 (Median) und 95.
StormEvents | summarize percentiles(DamageProperty, 5, 50, 95) by State
Output
Die angezeigte Ergebnistabelle enthält nur die ersten 10 Zeilen.
| 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 |
| ... | ... |
Zurückgeben von Quantilen als Array
Statt die Werte in einzelnen Spalten zurückzugeben, verwenden Sie die percentiles_array() Funktion, um die Quantile in einer einzelnen Spalte des dynamischen Arraytyps zurückzugeben.
Syntax
percentiles_array(
expr,percentiles)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| expr | string |
✔️ | Der Ausdruck, der für die Aggregationsberechnung verwendet werden soll. |
| percentiles | real oder dynamisch | ✔️ | Ein oder mehrere kommagetrennte Quantile oder ein dynamisches Array von Quantilen. Jedes Quantil muss ein realer Wert sein. |
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 der Ergebnistabelle werden nur die ersten 10 Zeilen angezeigt.
| 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 |
| ... | ... | ... |
Dynamisches Array von Quantilen
Quantile für percentiles_array können in einem dynamischen Array mit ganzzahligen oder Gleitkommazahlen angegeben werden. Das Array muss konstant sein, muss aber nicht literal sein.
TransformedSensorsData
| summarize percentiles_array(Value, dynamic([5, 25, 50, 75, 95])), avg(Value) by SensorName
Output
In der Ergebnistabelle werden nur die ersten 10 Zeilen angezeigt.
| 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
Angesichts der ungefähren Art der Berechnung kann der tatsächliche zurückgegebene Wert kein Mitglied der Population sein. 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.
Schätzungsfehler in Perzentilen
The percentiles aggregate provides an approximate value using T-Digest.
Note
- Die Grenzen für den Schätzungsfehler variieren je nach dem Wert des angeforderten Perzentils. Die beste Genauigkeit liegt an beiden Enden der [0,.100]-Skalierung. Quantile 0 und 100 sind die genauen Mindest- und Höchstwerte der Verteilung. Die Genauigkeit nimmt zur Mitte der Skala hin ab. Dies ist am schlechtesten im Median und ist auf 1 % begrenzt.
- Fehlergrenzen werden in Bezug auf den Rang, nicht auf den Wert sichtbar. Angenommen, Quantil(X, 50) hat einen Wert von Xm zurückgegeben. Die Schätzung garantiert, dass mindestens 49 % und höchstens 51 % der Werte von X kleiner oder gleich Xm sind. Es gibt keine theoretische Grenze für die Differenz zwischen Xm und dem tatsächlichen Medianwert von X.
- Die Schätzung kann manchmal zu einem genauen Wert führen, aber es gibt keine zuverlässigen Bedingungen zu definieren, wann dies der Fall sein wird.