다음을 통해 공유


pivot 플러그 인

적용 대상: ✅Microsoft Fabric✅Azure Data Explorer

입력 테이블의 한 열에서 출력 테이블의 여러 열로 고유 값을 회전하고 최종 출력에 표시되는 나머지 열 값에 필요한 대로 집계를 수행합니다.

참고 항목

OutputSchema를 지정하지 않으면 플러그 인의 pivot 출력 스키마는 입력 데이터를 기반으로 합니다. 따라서 서로 다른 데이터 입력을 사용하여 플러그 인을 여러 차례 실행하면 다른 출력 스키마가 생성됩니다. 또한 압축이 풀린 열을 참조하는 쿼리가 언제든지 '손상'될 수 있음을 의미합니다. 따라서 OutputSchema 함수를 지정하지 않고 자동화 작업에 이 플러그 인을 사용하지 않는 것이 좋습니다.

구문

T | evaluate pivot(pivotColumn aggregationFunction] [,column1 [,column2 ... ]]) [: OutputSchema][,

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 Type 필수 설명
pivotColumn string ✔️ 회전할 열입니다. 이 열의 각 고유 값은 출력 테이블의 열이 됩니다.
aggregationFunction string 입력 테이블의 여러 행을 출력 테이블의 단일 행으로 집계하는 데 사용되는 집계 함수입니다. 현재 지원되는 함수: min(), ,max(), take_any()sum(), dcount(), stdev()avg(), variance()make_list(), . make_bag()make_set()count() 기본값은 count()입니다.
column1, column2, ... string 열 이름 또는 열 이름의 쉼표로 구분된 목록입니다. 출력 테이블에는 지정된 각 열당 추가 열이 포함됩니다. 기본값은 피벗된 열과 집계 열 이외의 모든 열입니다.
OutputSchema 플러그 인 출력의 예상 열에 pivot 대한 이름 및 형식입니다.

구문: ( ColumnName : ColumnType [, ...])

예상된 스키마를 지정하면 먼저 실제 쿼리를 실행하여 스키마를 탐색할 필요가 없도록 쿼리 실행이 최적화됩니다. 런타임 스키마가 OutputSchema 스키마일치하지 않으면 오류가 발생합니다.

반품

피벗은 지정된 열(column1, column2, ...)과 피벗 열의 모든 고유 값을 사용하여 회전된 테이블을 반환합니다. 피벗된 열의 각 셀에는 집계 함수 계산이 포함됩니다.

예제

열별 피벗

'AL'로 시작하는 각 EventType 및 상태에 대해 이 상태에서 이 형식의 이벤트 수를 계산합니다.

StormEvents
| project State, EventType
| where State startswith "AL"
| where EventType has "Wind"
| evaluate pivot(State)

출력

EventType ALABAMA 알래스카
뇌우를 동반한 바람 352 1
강풍 0 95
극한의 추위/바람의 추위 0 10
Strong Wind 22 0

집계 함수가 있는 열별 피벗

'AR'로 시작하는 각 EventType 및 상태에 대해 총 직접 사망자 수를 표시합니다.

StormEvents
| where State startswith "AR"
| project State, EventType, DeathsDirect
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect))

출력

EventType ARKANSAS ARIZONA
Heavy Rain 1 0
뇌우를 동반한 바람 1 0
Lightning 0 1
Flash Flood 0 6
Strong Wind 1 0
3 0

집계 함수와 단일 추가 열이 있는 열로 피벗

결과는 이전 예제와 동일합니다.

StormEvents
| where State startswith "AR"
| project State, EventType, DeathsDirect
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect), EventType)

출력

EventType ARKANSAS ARIZONA
Heavy Rain 1 0
뇌우를 동반한 바람 1 0
Lightning 0 1
Flash Flood 0 6
Strong Wind 1 0
3 0

피벗된 열, 집계 함수 및 여러 개의 추가 열 지정

각 이벤트 유형, 원본 및 상태에 대해 직접 사망 횟수를 합산합니다.

StormEvents
| where State startswith "AR"
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect), EventType, Source)

출력

EventType Source ARKANSAS ARIZONA
Heavy Rain 응급 관리자 1 0
뇌우를 동반한 바람 응급 관리자 1 0
Lightning 신문 0 1
Flash Flood 학습된 스포터 0 2
Flash Flood 브로드캐스트 미디어 0 3
Flash Flood 신문 0 1
Strong Wind 사법 기관 1 0
신문 3 0

쿼리 정의 출력 스키마를 사용하여 피벗

다음 예제에서는 StormEvents 테이블에서 특정 열을 선택합니다. 실제 쿼리를 실행하기 전에 다양한 최적화를 평가할 수 있는 명시적 스키마 정의를 사용합니다.

StormEvents
| project State, EventType
| where EventType has "Wind"
| evaluate pivot(State): (EventType:string, ALABAMA:long, ALASKA:long)

출력

EventType ALABAMA 알래스카
뇌우를 동반한 바람 352 1
강풍 0 95
해상 뇌우 바람 0 0
Strong Wind 22 0
극한의 추위/바람의 추위 0 10
Cold/Wind Chill 0 0
해양 강풍 0 0
마린 하이 윈드 0 0