rolling_percentile() 外掛程式
適用於: ✅Microsoft網狀架構✅Azure 數據總管
針對每個 BinSize 的滾動 (滑動) BinsPerWindow 大小視窗,傳回 ValueColumn 母體擴展之指定百分位數的估計值。
外掛程式是使用運算子叫 evaluate
用的。
語法
T | evaluate
rolling_percentile(
ValueColumn Percentile,
IndexColumn,
,
BinSize,
BinsPerWindow [,
dim1,
dim2,
...])
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
T | string |
✔️ | 輸入表格式表達式。 |
ValueColumn | string |
✔️ | 用來計算百分位數的數據行名稱。 |
百分比 | int、long 或 real | ✔️ | 要計算百分位數的純量。 |
IndexColumn | string |
✔️ | 要在其中執行滾動視窗的數據行名稱。 |
BinSize | int、long、real、datetime 或 timespan | ✔️ | 要套用至 IndexColumn 之間隔大小的純量。 |
BinsPerWindow | int |
✔️ | 每個視窗中所包含的量化數目。 |
dim1, dim2, ... | string |
要分割的維度數據列清單。 |
傳回
傳回每一個量化數據列的數據表(如果指定時維度的組合),該數據表在結束於 bin 的視窗中具有滾動百分位數的值(包含)。 輸出資料表架構為:
IndexColumn | dim1 | ... | dim_n | rolling_BinsPerWindow_percentile_ValueColumn_Pct |
---|
範例
每天滾動 3 天中位數
下一個查詢會計算每日數據粒度的 3 天中位數。 輸出中的每個數據列都代表過去 3 個 bin(天)的中位數值,包括 bin 本身。
let T =
range idx from 0 to 24 * 10 - 1 step 1
| project Timestamp = datetime(2018-01-01) + 1h * idx, val=idx + 1
| extend EvenOrOdd = iff(val % 2 == 0, "Even", "Odd");
T
| evaluate rolling_percentile(val, 50, Timestamp, 1d, 3)
輸出
時間戳記 | rolling_3_percentile_val_50 |
---|---|
2018-01-01 00:00:00.0000000 | 12 |
2018-01-02 00:00:00.0000000 | 24 |
2018-01-03 00:00:00.0000000 | 36 |
2018-01-04 00:00:00.0000000 | 60 |
2018-01-05 00:00:00.0000000 | 84 |
2018-01-06 00:00:00.0000000 | 108 |
2018-01-07 00:00:00.0000000 | 132 |
2018-01-08 00:00:00.0000000 | 156 |
2018-01-09 00:00:00.0000000 | 180 |
2018-01-10 00:00:00.0000000 | 204 |
依維度滾動每天 3 天中位數
上述相同的範例,但現在也會計算針對維度每個值分割的滾動視窗。
let T =
range idx from 0 to 24 * 10 - 1 step 1
| project Timestamp = datetime(2018-01-01) + 1h * idx, val=idx + 1
| extend EvenOrOdd = iff(val % 2 == 0, "Even", "Odd");
T
| evaluate rolling_percentile(val, 50, Timestamp, 1d, 3, EvenOrOdd)
輸出
時間戳記 | EvenOrOdd | rolling_3_percentile_val_50 |
---|---|---|
2018-01-01 00:00:00.0000000 | 平穩 | 12 |
2018-01-02 00:00:00.0000000 | 平穩 | 24 |
2018-01-03 00:00:00.0000000 | 平穩 | 36 |
2018-01-04 00:00:00.0000000 | 平穩 | 60 |
2018-01-05 00:00:00.0000000 | 平穩 | 84 |
2018-01-06 00:00:00.0000000 | 平穩 | 108 |
2018-01-07 00:00:00.0000000 | 平穩 | 132 |
2018-01-08 00:00:00.0000000 | 平穩 | 156 |
2018-01-09 00:00:00.0000000 | 平穩 | 180 |
2018-01-10 00:00:00.0000000 | 平穩 | 204 |
2018-01-01 00:00:00.0000000 | 奇怪 | 11 |
2018-01-02 00:00:00.0000000 | 奇怪 | 23 |
2018-01-03 00:00:00.0000000 | 奇怪 | 35 |
2018-01-04 00:00:00.0000000 | 奇怪 | 59 |
2018-01-05 00:00:00.0000000 | 奇怪 | 83 |
2018-01-06 00:00:00.0000000 | 奇怪 | 107 |
2018-01-07 00:00:00.0000000 | 奇怪 | 131 |
2018-01-08 00:00:00.0000000 | 奇怪 | 155 |
2018-01-09 00:00:00.0000000 | 奇怪 | 179 |
2018-01-10 00:00:00.0000000 | 奇怪 | 203 |