レコードを指定された列フィールド1つにつき1レコードに展開します。
この「やること」は複雑な動作をしますので、具体例で説明します。
上図で、変換元のアプリではチームの成績が1年につき1レコードで表されており四半期毎のポイントが4つのフィールドに記録されています。変換後のアプリでは四半期につき1レコードで表されます。この例では、変換前アプリのQ1~Q4「列」を変換後アプリの「行」に変換します。
まず変換元のレコードを事前に取得しておき、それを「変換元レコード」パラメーターに設定します。フィールドの設定は以下のようにします。
パラメーター | 設定 |
---|---|
変換する列となるフィールド | Q1~Q4 |
列名の変換先フィールド | 四半期 |
列の値の変換先フィールド | 獲得ポイント |
列名のマッピングは以下のようにします。
変換元フィールド | 変換後の値 |
---|---|
Q1 | 1 |
Q2 | 2 |
Q3 | 3 |
Q4 | 4 |
変換列以外のマッピングは以下のようにします。四半期と獲得ポイントはマッピングしないでおきます。
セットする値 | セット先フィールド |
---|---|
= チーム | チーム |
= 年 | 年 |
この例では、まず変換元のQ1~Q4の4つの列ごとに変換先のレコードが1つできます。つまり変換元1レコードに対し変換先4レコードが作成されます。Q1~Q4の列は「列名の変換先フィールド」と「列名のマッピング」に基づいて四半期フィールドの値に変換され、Q1~Q4の値は獲得ポイントフィールドに変換されます。Q1~Q4以外のフィールドは自由にマッピングできます。
なお、この例では2022年のQ2~Q4の値が空になっていますが、これらの空の値についても変換されてレコードが作成されます。
アクションの実行結果は変換後のレコードになります。このレコードはまだどこにも保存されていないことに注意してください。自動的に保存されることもありません。変換後のレコードを保存するには「レコードをもとにレコードを追加する」等につないでください。
「変換元レコード」「変換する列となるフィールド」「変換先アプリ」「列名の変換先フィールド」「列名のマッピング」「列の値の変換先フィールド」「変換列以外のマッピング」を設定します。
変換元レコードを取得したアクションを選択します。
変換元レコードから変換対象のフィールドを選択します。複数選択可能です。
選択可能なフィールドタイプは以下です。
テーブル内のフィールドは選択できません。
変換先のアプリを指定します。
このアプリにレコードが保存されるわけではありませんが、変換先のフィールド一覧を決めるために必要です。
「変換する列となるフィールド」の列名に対応する値をセットする変換先アプリのフィールドを選択します。選択できるフィールドは1つだけです。
選択可能なフィールドタイプは以下です。
テーブル内のフィールドは選択できません。
「変換する列となるフィールド」に応じて「列名の変換先フィールド」へセットする値のマッピングを入力します。
このマッピングは特殊なマッピングで、いわゆるフィールドマッピングとはマッピングの方向が異なります。
フィールドマッピングと同様の式を使用することは可能です。その場合、式で参照できるのは変換元のレコードになります。変換先のレコードのフィールド値は参照できません。
「変換する列となるフィールド」のフィールド値をセットする変換先アプリのフィールドを選択します。選択できるフィールドは1つだけです。
選択可能なフィールドタイプは以下です。
テーブル内のフィールドは選択できません。
「列名の変換先フィールド」「列の値の変換先フィールド」以外のフィールドへ値をセットするマッピングを定義します。
マッピングダイアログ自体には「列名の変換先フィールド」「列の値の変換先フィールド」も表示されますが、これらのフィールドにマッピングで値をセットしようとしても、列の変換の方が優先されます。
条件 | 発生有無 |
---|---|
「レコード1行が準備できた時」 | 発生します |
「レコード全行が準備できた時」 | 発生します |
変換元レコードが1行もなかった場合はどちらも発生しません。