다음을 통해 공유


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