注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

条件に基づく集計

対応バッチ

条件文に基づいた集計式。

変換カテゴリ: 集計

引数

  • 集計する列の条件 - 入力スキーマのすべての列がこの条件に一致するかどうかをテストします。一致する場合、指定された式が適用されます。
    ColumnPredicate
  • データセット - 操作を適用するデータセット。
    Table
  • 集計する式 - 条件に一致する各列に 1 回適用される集計式。
    List<Expression<AnyType>>
  • 任意 グループ化する列 - 集計時にデータセットをグループ化する列のリスト。空の場合、グループ化は適用されません。
    List<Column<AnyType>>

例 1: エッジケース

説明: すべての列の非 NULL 行をカウントします。 引数の値:

  • 集計する列の条件:
    allColumns(

    )
  • データセット: ri.foundry.main.dataset.a
  • 集計する式: [
    dynamicAlias(
     expression:
    rowCount(
     expression: column,
    ),
     transformer:
    columnNameConcat(
     inputs: [column, _non_null],
    ),
    )]
  • グループ化する列: null

入力:

idvaluedistance
11002000
2null100
3500300

出力:

id_non_nullvalue_non_nulldistance_non_null
323

例 2: エッジケース

説明: 整数列の非 NULL 行のカウントと平均を計算します。 引数の値:

  • 集計する列の条件:
    columnHasType(
     type: Integer,
    )
  • データセット: ri.foundry.main.dataset.a
  • 集計する式: [
    dynamicAlias(
     expression:
    rowCount(
     expression: column,
    ),
     transformer:
    columnNameConcat(
     inputs: [column, _non_null],
    ),
    ),
    dynamicAlias(
     expression:
    mean(
     expression: column,
    ),
     transformer:
    columnNameConcat(
     inputs: [column, _mean],
    ),
    )]
  • グループ化する列: null

入力:

idvaluedistance
11002000
2null100
3500300

出力:

id_non_nullid_meanvalue_non_nullvalue_mean
32.02300.0

例 3: エッジケース

引数の値:

  • 集計する列の条件:
    columnHasType(
     type: Integer,
    )
  • データセット: ri.foundry.main.dataset.a
  • 集計する式: [
    dynamicAlias(
     expression:
    mean(
     expression: column,
    ),
     transformer:
    columnNameConcat(
     inputs: [column, _mean],
    ),
    )]
  • グループ化する列: [id]

入力:

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

出力:

idid_meanvalue_meandistance_mean
11.0150.02500.0
22.0450.02000.0

例 4: エッジケース

説明: すべての整数列の平均を計算します。 引数の値:

  • 集計する列の条件:
    columnHasType(
     type: Integer,
    )
  • データセット: ri.foundry.main.dataset.a
  • 集計する式: [
    dynamicAlias(
     expression:
    mean(
     expression: column,
    ),
     transformer:
    columnNameConcat(
     inputs: [column, _mean],
    ),
    )]
  • グループ化する列: null

入力:

idvaluedistance
11002000
3500300

出力:

id_meanvalue_mean
2.0300.0