レコードを指定のフィールドで値が同じもので束ねてグループ化し、新しいレコードに変換します。
キーとなるフィールドでレコードを束ねて、別のレコード形式にマッピングします。
具体例で説明します。
上図のように、変換前のアプリではチームの成績が四半期毎に1レコードで表されているとします。変換後のアプリでは成績は各チーム1年ごとにまとめられ、年間のポイント合計値を計算します。
まず変換元のレコードを事前に取得しておき、それを「変換元レコード」パラメーターに設定します。「キーとなるフィールド」は「チーム」と「年」を選択します。
重要なのは変換マッピングで、以下のように集計関数を使用して束ねたレコード内でフィールド値を集計することができます。この例ではsum関数を使用します。他にどのような集計関数があるかは、関数一覧をご覧ください。
セットする値 | セット先フィールド |
---|---|
= チーム | チーム |
= 年 | 年 |
= sum(獲得ポイント) | 合計ポイント |
この例では、まず変換元でチームと年の組み合わせが同じレコードを1つのグループにまとめ、それを変換先の1レコードにマッピングします。この例では「Osaka,2021」「Osaka,2022」「New York,2021」「New York,2022」という4つのグループができるので、変換先は4レコードになります。
アクションの実行結果は変換後のレコードになります。このレコードはまだどこにも保存されていないことに注意してください。自動的に保存されることもありません。変換後のレコードを保存するには「レコードをもとにレコードを追加する」等につないでください。
「変換元レコード」「キーとなるフィールド」「変換先アプリ」「変換マッピング」を設定します。
変換元レコードを取得したアクションを選択します。
「やること」の性質上、複数のレコードを含んでいなければ意味がありません。「レコード1行が準備できた時」でつないだ後だとレコードが1行になってしまい、変換の効果がなくなってしまいますので注意してください。
変換元レコードでキーとなるフィールドを選択します。複数選択可能です。
選択可能なフィールドタイプは以下です。
テーブル内のフィールドは選択できません。
変換先のアプリを指定します。
このアプリにレコードが保存されるわけではありませんが、変換先のフィールド一覧を決めるために必要です。
変換マッピングを入力します。
このマッピングで変換元のフィールド値を参照する場合、以下のようなルールになります。
条件 | 発生有無 |
---|---|
「レコード1行が準備できた時」 | 発生します |
「レコード全行が準備できた時」 | 発生します |
「レコード1行が準備できた時」は変換先レコード1行につき1回発生します。
変換元レコードが1行もなかった場合はどちらも発生しません。