피벗
| 항목 | 값 |
|---|---|
| 화면 이름 | Pivot |
| 식별자 | pivotV1 |
| 지원 실행 방식 | Batch, Faster |
| 범주 | 집계 (Aggregate), 자주 쓰는 변환 (Popular) |
지정한 열로 그룹화하여 집계합니다. 실행 전에 출력 스키마를 결정할 수 있도록 피벗할 고유 값 목록을 제공해야 하며 이는 이후 실행의 안정성을 유지하는 데 사용합니다.
입력 인자
| 이름 | 지정 여부 | 자료형 | 의미와 조건 |
|---|---|---|---|
Aggregations | 필수 | List<Expression<AnyType>> | 데이터셋에 수행할 집계 목록입니다. |
Dataset | 필수 | Table | 집계할 데이터셋입니다. |
Group by columns | 필수 | List<Column<AnyType>> | 집계 시 그룹화할 열 목록입니다. |
Pivot by column | 필수 | Column<T> | 피벗할 열입니다. |
Pivot by values | 필수 | List<Tuple<Literal<T>, Literal<String>>> | 피벗할 고유 값과 출력 별칭 목록입니다. 별칭은 접두사/접미사 설정에 따라 출력 열 이름을 구성합니다. |
Prefix or suffix alias | 선택 | Enum<Prefix, Suffix> | prefix이면 별칭을 집계명 앞에, suffix이면 뒤에 배치하여 출력 열 이름을 만듭니다. |
자료형 변수의 범위
T는Boolean | Byte | Integer | Long | Short | String범위의 자료형을 받습니다.
입출력 예시
예시 1: 기본 동작
인자 값:
Aggregations: [
alias(
alias: miles,
expression:
mean(
expression:miles,
),
)]Dataset: ri.foundry.main.dataset.aGroup by columns: [airline]Pivot by column:airportPivot by values: [(JFK, new_york), (LHR, london)]Prefix or suffix alias: null
입력:
| airline | airport | miles |
|---|---|---|
| foundry airways | JFK | 1002345 |
| foundry airways | LHR | 2221324 |
| new air | SFO | 21356673 |
| new air | JFK | 12323456 |
| foundry airways | LHR | 12542352 |
| new air | JFK | 12232355 |
출력:
| airline | new_york_miles | london_miles |
|---|---|---|
| foundry airways | 1002345.0 | 7381838.0 |
| new air | 1.22779055E7 | null |
예시 2: 기본 동작
인자 값:
Aggregations: [
alias(
alias: miles,
expression:
mean(
expression:miles,
),
)]Dataset: ri.foundry.main.dataset.aGroup by columns: [airline]Pivot by column:airportPivot by values: [(JFK, new_york), (LHR, london)]Prefix or suffix alias:SUFFIX
입력:
| airline | airport | miles |
|---|---|---|
| foundry airways | JFK | 1002345 |
| foundry airways | LHR | 2221324 |
| new air | SFO | 21356673 |
| new air | JFK | 12323456 |
| foundry airways | LHR | 12542352 |
| new air | JFK | 12232355 |
출력:
| airline | miles_new_york | miles_london |
|---|---|---|
| foundry airways | 1002345.0 | 7381838.0 |
| new air | 1.22779055E7 | null |