Quantil(), Quantils() (Aggregationsfunktion)
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Die percentile()
Funktion berechnet eine Schätzung für das angegebene Quantil der durch Ausdruck definierten Grundgesamtheit.
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.
Informationen zum Berechnen von gewichteten Quantilen finden Sie unter Quantilsw().
Syntax
percentile(
Expr quantil,
)
percentiles(
Exprzentile,
)
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
expr | string |
✔️ | Der Ausdruck, der für die Aggregationsberechnung verwendet werden soll. |
Perzentil | int oder long | ✔️ | Eine Konstante, die das Quantil angibt. |
Perzentile | int oder long | ✔️ | Ein oder mehrere kommagetrennte Quantile. |
Gibt zurück
Gibt eine Tabelle mit den Schätzungen für den Ausdruck der angegebenen Quantils in der Gruppe zurück, die jeweils in einer separaten Spalte enthalten sind.
Hinweis
Informationen zum Zurückgeben der Quantils in einer einzelnen Spalte finden Sie unter "Perzentile zurückgeben" als Array.
Beispiele
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 | 40.000 |
GEORGIA | 143333 |
MISSISSIPPI | 80.000 |
AMERIKANISCH-SAMOA | 250.000 |
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 | 40.000 |
GEORGIA | 0 | 0 | 143333 |
MISSISSIPPI | 0 | 0 | 80.000 |
AMERIKANISCH-SAMOA | 0 | 0 | 250.000 |
KENTUCKY | 0 | 0 | 35000 |
OHIO | 0 | 2.000 | 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(
Exprzentile,
)
Parameter
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
expr | string |
✔️ | Der Ausdruck, der für die Aggregationsberechnung verwendet werden soll. |
Perzentile | int, long oder dynamic | ✔️ | Ein oder mehrere kommagetrennte Quantile oder ein dynamisches Array von Quantilen. Jedes Quantil kann eine ganze Zahl oder ein langer Wert sein. |
Gibt zurück
Gibt eine Schätzung für den Ausdruck der angegebenen Quantils in der Gruppe als einzelne Spalte des dynamischen Arraytyps zurück.
Beispiele
Kommagetrennte Quantile
Mehrere Quantile können als Array in einer einzelnen dynamischen Spalte statt in mehreren Spalten wie Quantils ()abgerufen werden.
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 |
... | ... | ... |
Quantil der nächstgelegenen Rangfolge
P-th Quantil (0 <P<= 100) einer Liste sortierter Werte, sortiert in aufsteigender Reihenfolge, ist der kleinste Wert in der Liste. Der P-Prozentwert der Daten ist kleiner oder gleich dem P-Quantilwert (aus Wikipedia-Artikel zu Quantilen).
Definieren Sie 0-th-Quantile als kleinstes Mitglied der Population.
Hinweis
Angesichts der ungefähren Art der Berechnung kann der tatsächliche zurückgegebene Wert kein Mitglied der Population sein. Die Definition der nächstgelegenen Rangfolge bedeutet, dass P=50 nicht der interpolativen Definition des Median entspricht. Bei der Bewertung der Bedeutung dieser Diskrepanz für die spezifische Anwendung sollte die Größe der Grundpopulation und ein Schätzungsfehler berücksichtigt werden.
Schätzungsfehler in Perzentilen
Das Perzentilaggregat stellt einen ungefähren Wert mithilfe von T-Digestbereit.
Hinweis
- 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.