rolling_percentile() 플러그 인
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer
BinSize당 롤링(슬라이딩) BinsPerWindow 크기 창에서 ValueColumn 모집단의 지정된 백분위수에 대한 예상값을 반환합니다.
플러그 인은 연산자를 사용하여 호출됩니다 evaluate
.
구문
Trolling_percentile(
| evaluate
ValueColumn,
Percentile,
IndexColumn,
BinSize,
BinsPerWindow [,
dim1,
dim2,
...])
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | Type | 필수 | 설명 |
---|---|---|---|
T | string |
✔️ | 입력 테이블 형식 식입니다. |
ValueColumn | string |
✔️ | 백분위수 계산에 사용되는 열의 이름입니다. |
백분위 | int, long 또는 real | ✔️ | 계산할 백분위수의 스칼라입니다. |
IndexColumn | string |
✔️ | 롤링 창을 실행할 열의 이름입니다. |
BinSize | int, long, real, datetime 또는 timespan | ✔️ | IndexColumn에 적용할 bin 크기의 스칼라입니다. |
BinsPerWindow | int |
✔️ | 각 창에 포함된 bin 수입니다. |
dim1, dim2, ... | string |
조각화할 차원 열 목록입니다. |
반품
bin(포함)에서 끝나는 창에 값의 롤링 백분위수가 있는 각 bin당 행(및 지정된 경우 차원 조합)이 있는 테이블을 반환합니다. 출력 테이블 스키마는 다음과 같습니다.
IndexColumn | dim1 | ... | dim_n | rolling_BinsPerWindow_percentile_ValueColumn_Pct |
---|
예제
하루 3일 평균값 롤링
다음 쿼리는 3일 평균값을 일일 세분성으로 계산합니다. 출력의 각 행은 bin 자체를 포함하여 마지막 3개 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)
출력
Timestamp | 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)
출력
Timestamp | EvenOrOdd | rolling_3_percentile_val_50 |
---|---|---|
2018-01-01 00:00:00.0000000 | Even | 12 |
2018-01-02 00:00:00.0000000 | Even | 24 |
2018-01-03 00:00:00.0000000 | Even | 36 |
2018-01-04 00:00:00.0000000 | Even | 60 |
2018-01-05 00:00:00.0000000 | Even | 84 |
2018-01-06 00:00:00.0000000 | Even | 108 |
2018-01-07 00:00:00.0000000 | Even | 132 |
2018-01-08 00:00:00.0000000 | Even | 156 |
2018-01-09 00:00:00.0000000 | Even | 180 |
2018-01-10 00:00:00.0000000 | Even | 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 |