tdigest()(집계 함수)
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
그룹 전체의 percentiles()
중간 결과를 계산합니다.
참고 항목
이 함수는 summarize 연산자와 함께 사용됩니다.
자세한 내용은 기본 알고리즘(T-Digest) 및 예상 오류를 참조 하세요.
Important
tdigest() 및 tdigest_merge()의 결과를 저장하고 나중에 검색할 수 있습니다. 예를 들어 일별 백분위수 요약을 만든 다음 주 백분위수 계산에 사용할 수 있습니다. 그러나 이러한 결과의 정확한 이진 표현은 시간이 지남에 따라 변경될 수 있으며 문서화되지 않습니다. 이러한 함수가 동일한 입력에 대해 동일한 결과를 생성한다는 보장은 없습니다.
구문
tdigest(
expr [,
weight])
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | Type | 필수 | 설명 |
---|---|---|---|
expr | string |
✔️ | 집계 계산에 사용되는 식입니다. |
weight | string |
집계 계산에 대한 값의 가중치입니다. |
반품
그룹 전체의 가중치가 지정된 백분위수의 *expr*
중간 결과입니다.
팁
- 집계 함수 tdigest_merge() 를 사용하여 다른 그룹에 다시 출력을
tdigest
병합합니다. - 함수 percentile_tdigest() 를 사용하여 결과의 백분위수/백분위수 값을 계산합니다
tdigest
.
예제
상태별 결과
이 예제에서는 상태별로 정렬된 tdigest 백분위수의 결과를 보여줍니다.
StormEvents
| summarize tdigest(DamageProperty) by State
표시된 결과 테이블에는 처음 10개의 행만 포함됩니다.
State(상태) | tdigest_DamageProperty |
---|---|
네브래스카주 | [[7],[800,250,300000,5000,240000,1500000,20000,550000,0,75000,100000,1000,10000,30000,13000,2000000,1000000,650000,125000,35000,7000,2500000,4000000,450000,85000,460000,500000,6000,150000,350000,4000,72500,1200000,180000,400000,25000,50000,2000,45000,8000,120000,200000,40000,1200,15000,55000,3000,250000],[5,1,3,72,1,1,44,1,1351,12,24,17,46,13,6,1,2,1,2,6,8,1,1,1,2,1,4,2,6,1,2,2,1,1,2,26,18,12,2,2,1,7,6,4,28,4,6,6]] |
MINNESOTA | [[7],[700,500,2000000,2500,1200000,12000000,16000,7000000,0,300000,425000,750,6000,30000,10000,22000000,10000000,9600000,600000,50000,4000,27000000,35000000,4000000,400000,5000000,6000000,3000,750000,2500000,2000,250000,11000000,38000000,3000000,20000,120000,1000,100000,5000,500000,1000000,60000,800,15000,200000,1500,1500000,900000],[1,3,1,3,1,2,1,1,1793,1,1,2,2,2,3,1,1,1,2,2,1,1,1,1,2,1,2,1,1,1,6,1,1,1,3,5,1,5,2,5,2,2,1,2,2,2,2,1,1]] |
KANSAS | [[7],[ 667,200,6000000,3400,80000,300000,18875,210000,0,45857,750000,37500000,10000,81150000,15000000,6400000,2570000,225000,59400,25000,5000,400000,7000000,4500000,2500000,6500000,200000,4500,70000,122500,2785,12000000,1900000,18200000,150000,1150000,27000000,2000,30000,2000000,250000000,75000,26000,1500,1500000,1000000,2500,100000,21600000,50000,335000,600000,175000,500000,160000,51000,40000,20000,15000,252500,7520,350000,250000,3400000,1000,338000,16000000,106000,4840000,305000,540000,337500,9800000,45000,12500,700000,4000000,71000,30000000,35000,3700000,22000,56000],[12,2,2,5,2,3,8,1,2751,7,2,1,37,1,1,1,1,2,5,12,33,8,1,1,1,2,10,1,5,2,7,1,4,1,5,1,1,9,11,4,1,5,2,6,4,8,2,23,1,44,2,3,2,3,1,1,1,18,5,2,5,1,7,1,25,1,1,3,1,1,1,2,6,1,1,2,1,1,1,3,1,1,1]] |
뉴멕시코주 | [[7],[600,500,2500000,7000,1500,28000,40000,10000,0,500000,20000,1000,21000,70000,25000,3500000,200000,16500000,50000,100000,15000,4000,5000,2000],[1,3,1,1,1,1,1,7,466,1,7,4,1,1,2,1,1,1,1,2,1,4,10,8]] |
KENTUCKY | [[7],[600,200,700000,5000,400000,12000,15000,100000,0,60000,80000,1000,9000,20000,10000,50000,30000,300000,120000,25000,7000,3000,500000,11500000,75000,35000,8000,6000,150000,1500000,4000,56000,1911,250000,2500000,18000,45000,2000],[6,2,1,42,1,3,9,8,999,2,1,52,1,21,37,25,7,2,3,14,11,35,1,1,6,10,9,10,4,1,13,1,9,3,1,2,1,37]] |
버지니아주 | [[7],[536,500,125000,3000,100000,7250,8000,60000,0,40000,50000,956,6000,11500,7000,25000,15000,98000,70000,12000,4000,2000,120000,1000000,45000,16000,5000,3500,75000,175000,2500,30000,1000,80000,300000,10000,20000,1500],[7,11,1,48,2,2,2,1,1025,2,6,9,2,2,1,5,16,1,3,5,12,122,1,1,1,1,64,2,2,1,1,7,209,3,2,42,19,6]] |
OREGON | [[7],[5000,1000,60000,434000,20000,50000,100000,500000,0,1500000,20400000,6000,62600000],[8,2,1,1,1,1,3,1,401,1,1,1,1]] |
알래스카 | [[7],[5000,1000,25000,700000,12060,15000,100000,1600000,0,10000],[5,1,1,1,1,2,1,2,242,1]] |
코네티컷 | [[7],[5000,1000,2000000,0,50000,750000,6000],[1,1,1,142,1,1,1]] |
네바다주 | [[7],[5000,1000,200000,1000000,30000,40000,297000,5000000,0,10000],[4,2,1,1,1,1,1,1,148,3]] |
기존 중심 변환
다음 예제에서는 장기 스토리지를 위해 기존 T-다이제스트 중심을 변환하는 방법을 보여 줍니다.
열은 V
각 중심의 값을 보유하며 열은 W
가중치(상대 수)입니다.
tdigest()
그런 다음 집계 함수를 적용하여 테이블 DT
의 데이터를 내부 표현으로 변환하고 percentile_tdigest()
ot가 50 타일 값을 찾는 방법을 보여 줍니다.
let DT=datatable(V:real, W:long) [
1.0, 1,
2.0, 2
];
DT
| summarize TD=tdigest(V, W)
| project P50=percentile_tdigest(TD, 50)
P50 |
---|
2 |