Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

조건에 맞는 열 집계

항목값
화면 이름Aggregate on condition
식별자aggregateOnConditionV1
지원 실행 방식Batch, Faster
범주집계 (Aggregate), 자주 쓰는 변환 (Popular)

열 조건에 따라 선택한 대상에 집계 표현식을 적용합니다.

입력 인자

이름지정 여부자료형의미와 조건
Condition for columns to aggregate on필수ColumnPredicate입력 스키마의 각 열이 이 조건에 맞는지 검사하고 일치하는 열에 표현식들을 적용합니다.
Dataset필수Table연산을 적용할 데이터셋입니다.
Expressions to aggregate필수List<Expression<AnyType>>조건에 일치하는 각 열에 한 번씩 적용할 집계 표현식입니다.
Group by columns선택List<Column<AnyType>>집계 시 그룹화할 열 목록입니다. 비어 있으면 그룹화를 적용하지 않습니다.

입출력 예시

예시 1: 경계 조건

모든 열에서 null이 아닌 값의 개수를 셉니다.

인자 값:

  • Condition for columns to aggregate on:
    allColumns(

    )
  • Dataset: ri.foundry.main.dataset.a
  • Expressions to aggregate: [
    dynamicAlias(
     expression:
    rowCount(
     expression: column,
    ),
     transformer:
    columnNameConcat(
     inputs: [column, _non_null],
    ),
    )]
  • Group by columns: null

입력:

idvaluedistance
11002000
2null100
3500300

출력:

id_non_nullvalue_non_nulldistance_non_null
323

예시 2: 경계 조건

Integer로 선언된 열에서 null이 아닌 값의 개수와 평균을 계산합니다.

인자 값:

  • Condition for columns to aggregate on:
    columnHasType(
     type: Integer,
    )
  • Dataset: ri.foundry.main.dataset.a
  • Expressions to aggregate: [
    dynamicAlias(
     expression:
    rowCount(
     expression: column,
    ),
     transformer:
    columnNameConcat(
     inputs: [column, _non_null],
    ),
    ),
    dynamicAlias(
     expression:
    mean(
     expression: column,
    ),
     transformer:
    columnNameConcat(
     inputs: [column, _mean],
    ),
    )]
  • Group by columns: null

입력:

idvaluedistance
11002000
2null100
3500300

출력:

id_non_nullid_meanvalue_non_nullvalue_mean
32.02300.0

예시 3: 경계 조건

인자 값:

  • Condition for columns to aggregate on:
    columnHasType(
     type: Integer,
    )
  • Dataset: ri.foundry.main.dataset.a
  • Expressions to aggregate: [
    dynamicAlias(
     expression:
    mean(
     expression: column,
    ),
     transformer:
    columnNameConcat(
     inputs: [column, _mean],
    ),
    )]
  • Group by columns: [id]

입력:

idvaluedistanceairline
11002000new air
12003000new air
25003000foundry air
24001000foundry air

출력:

idid_meanvalue_meandistance_mean
11.0150.02500.0
22.0450.02000.0

예시 4: 경계 조건

Integer로 선언된 모든 열의 평균을 계산합니다.

인자 값:

  • Condition for columns to aggregate on:
    columnHasType(
     type: Integer,
    )
  • Dataset: ri.foundry.main.dataset.a
  • Expressions to aggregate: [
    dynamicAlias(
     expression:
    mean(
     expression: column,
    ),
     transformer:
    columnNameConcat(
     inputs: [column, _mean],
    ),
    )]
  • Group by columns: null

입력:

idvaluedistance
11002000
3500300

출력:

id_meanvalue_mean
2.0300.0