レコードをキー毎に分類・仕分けして、キーの値1つに対し1つのレコードを別のアプリに登録します。
同じキーに属するレコードは、新しく登録されるレコードのテーブルにテーブル行として追加されます。
事前に「クエリで条件を指定してレコードを取得する」などで仕分けした元のレコードを取得しておきます。
また、仕分けの結果を登録する先のアプリを用意しておきます。登録先のアプリにはテーブルが必須になります。
「仕分け対象レコード」「仕分けキー」「更にテーブルを集約するキー」「登録先アプリ」「レコードに対するマッピング」「登録先テーブル」「テーブルに対するマッピング」を指定します。
仕分けしたいレコードを取得したアクションを指定します。このレコードが「仕分けキー」により仕分けされます。
元になるレコードの取得元アプリについて、特に制限はありません。カスタマイズ中のアプリやレコード登録先アプリと同じでも構いませんし、逆にどちらとも違うアプリでも指定可能です。
「仕分け対象レコード」を仕分けする基準のフィールドを指定します。複数指定可能です。
選択可能なフィールドタイプは以下の通りです。
ここで指定したフィールドの値が同じになっているレコードたちが1つの塊としてグループになり、「登録先アプリ」の1レコードとして登録されます。逆に、仕分けキーの値が異なるレコードは異なるグループとなり、「登録先アプリ」で異なるレコードとして登録されます。
仕分けキーに複数のフィールドを指定している場合、指定したすべてのフィールドの値が一致しているものが同じグループになります。
キーにチェックボックスやユーザー選択のように複数の選択が可能なフィールドを指定した場合、順序は無視して選択した項目がすべて一致していれば同じとみなします。
「仕分けキー」によってグループに分けられたレコードに対して、さらにもう一段階グループ化したい場合に指定します。省略可能です。指定する場合は複数指定可能です。
選択可能なフィールドタイプは以下の通りです。
「仕分けキー」によって分けられた各グループ内のレコードは、「登録先アプリ」のテーブル行にマッピングされます。この時、「更にテーブルを集約するキー」が指定されていると、このキーの値が同じ行は1行に集約してテーブルに登録されます。
キーにチェックボックスやユーザー選択のように複数の選択が可能なフィールドを指定した場合、順序は無視して選択した項目がすべて一致していれば同じとみなします。
仕分けされたレコードを登録する先のアプリを選択します。
仕分けされたレコードと登録先レコードの間のマッピングを定義します。
このマッピングにおいて、
= フィールドコード
と記述した場合、フィールドコードは「仕分け対象レコード」のフィールドになります。
「仕分けキー」に指定されているフィールドは通常通り参照できますが、それ以外のフィールドは、複数のレコードの値が含まれた状態になります。したがって、max や min などの集計関数で集計したり、「= 文字列_1行[0]」のように最初のレコードを代表値として取る、というような書き方が必要になります。
こちらのマッピングでは、「更にテーブルを集約するキー」での集約はまだ行われていない状態なので、「更にテーブルを集約するキー」に入っているフィールドを参照する場合は、複数のレコードの値が含まれた状態になります。
仕分けでまとめられたレコードを登録する先のテーブルを選択します。
テーブルのデータをセットするマッピングを定義します。
このマッピングにおいて、
= フィールドコード
と記述した場合、フィールドコードは「仕分け対象レコード」のフィールドになります。
「仕分けキー」「更にテーブルを集約するキー」に指定されているフィールドは通常通り参照できますが、それ以外のフィールドは、複数のレコードの値が含まれた状態になります。したがって、max や min などの集計関数で集計したり、「= 文字列_1行[0]」のように最初のレコードを代表値として取る、というような書き方が必要になります。
登録先アプリに「レコードの追加」条件で Webhook 通知を行うように設定されている場合、本「やること」を実行するとこの通知が発生します。