percentile()、percentiles() (彙總函式)
函percentile()
式會計算expr所定義母體之最接近排名百分位數的估計值。
精確度取決於百分位數區域中的母體密度。
percentiles()
的運作方式 percentile()
類似於 。 不過, percentiles()
可以一次計算多個百分位數值,這比個別計算每個百分位數值更有效率。
若要計算加權百分位數,請參閱 percentilesw () 。
注意
此函式會與 summarize 運算子搭配使用。
Syntax
percentile(
expr,
百分比)
percentiles(
expr,
百分位數)
深入瞭解 語法慣例。
參數
名稱 | 類型 | 必要 | Description |
---|---|---|---|
expr | string |
✔️ | 要用於匯總計算的表達式。 |
百分比 | int 或long | ✔️ | 指定百分位數的常數。 |
百分位數 | int 或long | ✔️ | 一或多個逗號分隔百分位數。 |
傳回
傳回數據表,其中包含群組中指定百分位數之 expr 的估計值,每個百分位數都位於個別的數據行中。
注意
若要傳回單一數據行中的 百分位數,請參閱以數位列傳回百分位數。
範例
計算單一百分位數
下列範例顯示樣本集大於95%且樣本集小於5%的值 DamageProperty
。
StormEvents | summarize percentile(DamageProperty, 95) by State
輸出
顯示的結果數據表只包含前10個數據列。
狀態 | percentile_DamageProperty_95 |
---|---|
大西洋南部 | 0 |
佛羅里達州 | 40000 |
喬治亞州 | 143333 |
密西西比州 | 80000 |
美屬薩摩亞 | 250000 |
肯塔基州 | 35000 |
俄亥俄 | 150000 |
堪薩斯州 | 51392 |
密西根 | 49167 |
ALABAMA | 50000 |
計算多個百分位數
下列範例顯示使用5、50 (中位數) 和95同時計算的值 DamageProperty
。
StormEvents | summarize percentiles(DamageProperty, 5, 50, 95) by State
輸出
顯示的結果數據表只包含前10個數據列。
狀態 | percentile_DamageProperty_5 | percentile_DamageProperty_50 | percentile_DamageProperty_95 |
---|---|---|---|
大西洋南部 | 0 | 0 | 0 |
佛羅里達州 | 0 | 0 | 40000 |
喬治亞州 | 0 | 0 | 143333 |
密西西比州 | 0 | 0 | 80000 |
美屬薩摩亞 | 0 | 0 | 250000 |
肯塔基州 | 0 | 0 | 35000 |
俄亥俄 | 0 | 2000 | 150000 |
堪薩斯州 | 0 | 0 | 51392 |
密西根 | 0 | 0 | 49167 |
ALABAMA | 0 | 0 | 50000 |
... | ... |
以陣列傳回百分位數
使用 函式傳回動態數位類型之單一數據行中的百分位數, percentiles_array()
而不是傳回個別數據行中的值。
Syntax
percentiles_array(
expr,
百分位數)
參數
名稱 | 類型 | 必要 | Description |
---|---|---|---|
expr | string |
✔️ | 要用於匯總計算的表達式。 |
百分位數 | int、long 或 dynamic | ✔️ | 一或多個逗號分隔百分位數或動態百分位數數位。 每個百分位數可以是整數或長值。 |
傳回
傳回群組中指定百分位數的 expr 估計值,做為動態數位型態的單一資料行。
範例
逗號分隔百分位數
您可以在單一動態資料列中以數位的形式取得多個百分位數,而不是在多個資料列中取得,如同百 分位數 () 。
TransformedSensorsData
| summarize percentiles_array(Value, 5, 25, 50, 75, 95), avg(Value) by SensorName
輸出
結果數據表只會顯示前10個數據列。
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 |
... | ... | ... |
百分位數的動態陣列
的百分位數 percentiles_array
可以在整數或浮點數的動態陣列中指定。 陣列必須是常數,但不一定要是常值。
TransformedSensorsData
| summarize percentiles_array(Value, dynamic([5, 25, 50, 75, 95])), avg(Value) by SensorName
輸出
結果數據表只會顯示前10個數據列。
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 |
... | ... | ... |
最接近排名百分位數
第 P 百分位數 (0 <P<= 100) 排序順序排序的已排序值清單,以遞增順序排序,是清單中的最小值。 資料的 P 百分位數會小於或等於第 P 個百分位數 (來自百分位數的維基百科文章)。
將第 0 個百分位數定義為母體的最小成員。
百分位數中的估計誤差
百分位數彙總使用 T-Digest提供近似值。
注意
- 估計誤差的範圍會隨著要求的百分位數值而變化。 最佳的精確度是在 [0..100] 刻度的兩端。 百分位數 0 和 100 正好是數值分佈的最小值和最大值。 精確度會逐漸向級別中央減少。 在中位數時最差,且上限為 %1。
- 誤差範圍是在秩上測得,而非在值上。 假設 percentile(X, 50) 傳回 Xm 的值。 此估計可保證最少 49%、最多 51% 的 X 值小於或等於 Xm。 Xm 與 X 實際中位數值之間的差異理論上沒有限制。
- 估計有時可能會產生精確的值,但沒有發生此情況的可靠條件定義。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應