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

条件に基づく集計

対応バージョン: バッチ

条件文に基づく集計式。 変換カテゴリ: その他

宣言された引数

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

例 1 - エッジケース

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

  • 集計対象の列の条件:
    allColumns(

    )
  • データセット: ri.foundry.main.dataset.a
  • 集計する式: [
    dynamicAlias(
     expression:
    rowCount(
     expression: column,
    ),
     transformer:
    columnNameConcat(
     inputs: [column, _non_null],
    ),
    )]
  • グループ化する列: null 入力: | id | value | distance | | ----- | ----- | ----- | | 1 | 100 | 2000 | | 2 | null | 100 | | 3 | 500 | 300 |

出力:

id_non_nullvalue_non_nulldistance_non_null
323

例 2 - エッジケース

説明: 整数列の非ヌル数と平均をカウントします。 引数の値:

  • 集計対象の列の条件:
    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 入力: | id | value | distance | | ----- | ----- | ----- | | 1 | 100 | 2000 | | 2 | null | 100 | | 3 | 500 | 300 |

出力:

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] 入力: | id | value | distance | airline | | ----- | ----- | ----- | ----- | | 1 | 100 | 2000 | new air | | 1 | 200 | 3000 | new air | | 2 | 500 | 3000 | foundry air | | 2 | 400 | 1000 | foundry 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 入力: | id | value | distance | | ----- | ----- | ----- | | 1 | 100 | 2000 | | 3 | 500 | 300 |

出力:

id_meanvalue_mean
2.0300.0