Job Runner

レコードをフィールド値毎に束ねる

概要

レコードを指定のフィールドで値が同じもので束ねてグループ化し、新しいレコードに変換します。

使い方

キーとなるフィールドでレコードを束ねて、別のレコード形式にマッピングします。

具体例で説明します。

変換例

上図のように、変換前のアプリではチームの成績が四半期毎に1レコードで表されているとします。変換後のアプリでは成績は各チーム1年ごとにまとめられ、年間のポイント合計値を計算します。

まず変換元のレコードを事前に取得しておき、それを「変換元レコード」パラメーターに設定します。「キーとなるフィールド」は「チーム」と「年」を選択します。

重要なのは変換マッピングで、以下のように集計関数を使用して束ねたレコード内でフィールド値を集計することができます。この例ではsum関数を使用します。他にどのような集計関数があるかは、関数一覧をご覧ください。

セットする値 セット先フィールド
= チーム チーム
= 年
= sum(獲得ポイント) 合計ポイント

この例では、まず変換元でチームと年の組み合わせが同じレコードを1つのグループにまとめ、それを変換先の1レコードにマッピングします。この例では「Osaka,2021」「Osaka,2022」「New York,2021」「New York,2022」という4つのグループができるので、変換先は4レコードになります。

アクションの実行結果は変換後のレコードになります。このレコードはまだどこにも保存されていないことに注意してください。自動的に保存されることもありません。変換後のレコードを保存するには「レコードをもとにレコードを追加する」等につないでください。

設定するパラメーター

「変換元レコード」「キーとなるフィールド」「変換先アプリ」「変換マッピング」を設定します。

変換元レコード

変換元レコードを取得したアクションを選択します。

「やること」の性質上、複数のレコードを含んでいなければ意味がありません。「レコード1行が準備できた時」でつないだ後だとレコードが1行になってしまい、変換の効果がなくなってしまいますので注意してください。

キーとなるフィールド

変換元レコードでキーとなるフィールドを選択します。複数選択可能です。

選択可能なフィールドタイプは以下です。

  • 文字列(1行)
  • 数値
  • 計算
  • ラジオボタン
  • ドロップダウン
  • リンク
  • 日付
  • 時刻
  • 日時
  • ルックアップ(文字列)
  • ルックアップ(数値)

テーブル内のフィールドは選択できません。

変換先アプリ

変換先のアプリを指定します。

このアプリにレコードが保存されるわけではありませんが、変換先のフィールド一覧を決めるために必要です。

変換マッピング

変換マッピングを入力します。

このマッピングで変換元のフィールド値を参照する場合、以下のようなルールになります。

  • キーとなるフィールドは、そのキーの単一の値となります。
  • キーとなるフィールド以外のフィールドは、束ねたレコード全てのフィールド値を含む配列となります。
    • セット先が「文字列(1行)」などの単一値のフィールドの場合、集計関数を用いたり、「=フィールド[0]」などで代表値を取るなどする必要があります。

レコード取得条件の発生有無

条件 発生有無
レコード1行が準備できた時 発生します
レコード全行が準備できた時 発生します

「レコード1行が準備できた時」は変換先レコード1行につき1回発生します。

変換元レコードが1行もなかった場合はどちらも発生しません。

関連記事