入力パラメータ。
入力パラメータは、マッピング内の値のプレースホルダです。マッピングタスクを設定するときに、パラメータの値を定義します。
データフローのロジック部分に対して入力パラメータを作成できます。例えば、フィルタ条件とターゲットオブジェクトでパラメータを使用するとします。マッピングに基づいて複数のタスクを作成したり、さまざまなターゲットにさまざまなデータセットを書き込んだりすることができます。またターゲット接続に入力パラメータを使用すると、さまざまなSalesforceアカウントにターゲットデータを書き込むことができます。
次の表に、各トランスフォーメーションで作成できる入力パラメータを示します。
トランスフォーメーション | マッピングとタスクでの入力パラメータの使用 |
---|
ソース | ソーストランスフォーメーションの次の部分で入力パラメータを使用できます。 - - ソース接続。パラメータの接続タイプを設定したり、接続タイプを有効にしたりできます。タスクで、使用する接続を選択します。
- - ソースオブジェクト。タスクで、使用するソースオブジェクトを選択します。リレーショナル接続およびSalesforce接続の場合、ソースオブジェクトのカスタムクエリを指定できます。
- - フィルタ。タスクで、使用するフィルタ式を設定します。パラメータ化されたソースにフィルタを使用するには、そのフィルタにパラメータを使用する必要があります。
- - ソート。タスクで、使用するフィールドとソートのタイプを選択します。パラメータ化されたソースのデータをソートするには、ソートオプションにパラメータを使用する必要があります。
|
ターゲット | ターゲットトランスフォーメーションの次の部分で入力パラメータを使用できます。 - - ターゲット接続。パラメータの接続タイプを設定したり、接続タイプを有効にしたりできます。タスクで、使用する接続を選択します。
- - ターゲットオブジェクト。タスクで、使用するターゲットオブジェクトを選択します。
- - 完全にパラメータ化されたフィールドマッピング。タスクで、タスクに対してフィールドマッピング全体を設定します。
- - 部分的にパラメータ化されたフィールドマッピング。パラメータの設定方法に応じて、次のように、部分フィールドマッピングパラメータを使用できます。
- - マッピングでリンクを設定し、タスク内のマッピングされていないフィールドを表示します。
- - マッピングでリンクを設定し、タスク内のすべてのフィールドを表示します。マッピングで設定されているリンクを編集できます。
|
追加フィールドのあるすべてのトランスフォーメーション | トランスフォーメーションの[受信フィールド]タブの次の部分で入力パラメータを使用できます。 - - フィールドルール: 名前付きフィールド。フィールドルールで[名前付きフィールド]フィールドの選択基準を使用するときに、パラメータを使用できます。タスクで、フィールドルールで使用するフィールドを選択します。
- - フィールドの名前変更: パターン。パターンオプションを使用してフィールド名を一括変更するときに、パラメータを使用できます。タスクで、使用する正規表現を入力します。
|
アグリゲータ | アグリゲータトランスフォーメーションの次の部分で入力パラメータを使用できます。 - - グループ化: フィールド名。タスクで、使用する受信フィールドを選択します。
- - 集計式: 追加の集計フィールド。タスクで、使用するフィールドを指定します。
- - 集計式: 集計フィールドの式。タスクで、各集計フィールドに使用する式を指定します。
|
データマスキング | データマスキングトランスフォーメーションのマスキング方法で入力パラメータを使用できます。 タスクで、マスキング方法を選択および設定します。 |
式 | 式トランスフォーメーションの式に入力パラメータを使用できます。 タスクで、式全体を作成します。 |
フィルタ | フィルタトランスフォーメーションの次の部分で入力パラメータを使用できます。 - - 完全にパラメータ化されたフィルタ条件。タスクで、受信フィールドと値を入力するか、詳細なデータフィルタを入力します。
- - 簡易または詳細フィルタ条件: フィールド名。タスクで、使用する入力フィールドを選択します。
- - 簡易または詳細フィルタ条件: 値。タスクで、使用する値を選択します。
|
ジョイナ | ジョイナトランスフォーメーションの次の部分で入力パラメータを使用できます。 - - 結合条件。タスクで、結合条件全体を定義します。
- - 結合条件: マスタフィールド。タスクで、使用するマスタソース内のフィールドを選択します。
- - 結合条件: 明細フィールド。タスクで、使用する明細ソース内のフィールドを選択します。
|
ルックアップ | ルックアップトランスフォーメーションの次の部分で入力パラメータを使用できます。 - - ルックアップ接続。パラメータの接続タイプを設定したり、接続タイプを有効にしたりできます。タスクで、使用する接続を選択します。
- - ルックアップオブジェクト。タスクで、使用するルックアップオブジェクトを選択します。
- - ルックアップ条件: ルックアップフィールド。タスクで、使用するルックアップオブジェクト内のフィールドを選択します。
- - ルックアップ条件: 追加フィールド。タスクで、使用するデータフロー内のフィールドを選択します。
|
マップレット | マップレットトランスフォーメーションの次の部分で入力パラメータを使用できます。 - - 接続。マップレットで接続を使用する場合は、パラメータの接続タイプを設定したり、接続タイプを有効にしたりできます。タスクで、使用する接続を選択します。
- - 完全にパラメータ化されたフィールドマッピング。タスクで、タスクに対してフィールドマッピング全体を設定します。
- - 部分的にパラメータ化されたフィールドマッピング。パラメータの設定方法に応じて、次のように、部分フィールドマッピングパラメータを使用できます。
- - 適用するマッピングでリンクを設定し、タスク内のマッピングされていないフィールドを表示します。
- - マッピングでリンクを設定し、設定タスクですべてのフィールドとリンクを表示できるようにします。
入力グループごとに、別個に入力パラメータを設定できます。 |
ランク | 各ランクグループに含める行数に入力パラメータを使用できます。 タスクで、行数を入力します。 |
ルータ | ルータトランスフォーメーションの次の部分で入力パラメータを使用できます。 - - 完全にパラメータ化されたグループフィルタ条件。タスクで、グループフィルタ条件に式を入力します。
- - 簡易または詳細グループフィルタ条件: フィールド名。タスクで、使用する受信フィールドを選択します。
- - 簡易または詳細グループフィルタ条件: 値。タスクで、使用する値を選択します。
|
ソーター | ソータートランスフォーメーションの次の部分で入力パラメータを使用できます。 - - ソート条件: ソートフィールド。タスクで、ソートするフィールドを選択します。
- - ソート条件: ソート順。タスクで、昇順ソートまたは降順ソートのどちらかを選択します。
|
SQL | SQLトランスフォーメーションの次の部分で入力パラメータを使用できます。 - - 接続: Mapping Designerで、接続をパラメータ化する前にストアドプロシージャまたは関数を選択します。[OracleまたはSQL Server]接続タイプを使用します。タスクで、使用する接続を選択します。
- - ユーザー入力クエリ: クエリの定義に文字列パラメータを使用できます。タスクで、クエリを入力します。
|
構造パーサー | 構造パーサートランスフォーメーションの次の部分で入力パラメータを使用できます。 - - 完全にパラメータ化されたフィールドマッピング。タスクで、タスクに対してフィールドマッピング全体を設定します。
- - 部分的にパラメータ化されたフィールドマッピング。パラメータの設定方法に応じて、次のように、部分フィールドマッピングパラメータを使用できます。
- - 適用するマッピングでリンクを設定し、タスク内のマッピングされていないフィールドを表示します。
- - マッピングでリンクを設定し、設定タスクですべてのフィールドとリンクを表示できるようにします。
|
トランザクション制御 | トランザクション制御トランスフォーメーションの次の部分で入力パラメータを使用できます。 - - トランザクション制御条件: タスクで、トランザクション制御条件として使用する式を指定します。
- - 詳細トランザクション制御条件: 式。タスクで、式で使用する文字列またはフィールドを指定します。
|
共有体 | 共有体トランスフォーメーションの次の部分で入力パラメータを使用できます。 - - 完全にパラメータ化されたフィールドマッピング。タスクで、タスクに対してフィールドマッピング全体を設定します。
- - 部分的にパラメータ化されたフィールドマッピング。パラメータの設定方法に応じて、次のように、部分フィールドマッピングパラメータを使用できます。
- - 適用するマッピングでリンクを設定し、タスク内のマッピングされていないフィールドを表示します。
- - マッピングでリンクを設定し、設定タスクですべてのフィールドとリンクを表示できるようにします。
入力グループごとに、別個に入力パラメータを設定できます。 |
入力パラメータのタイプ
さまざまなタイプの入力パラメータを作成できます。パラメータのタイプは、パラメータの使用方法と使用場所を示します。
例えば、接続パラメータを作成する場合は、接続パラメータをソース、ターゲット、またはルックアップ接続として使用できます。式パラメータは、式トランスフォーメーションの式全体、あるいはジョイナトランスフォーメーションの結合条件を表すことができます。トランスフォーメーションでは、該当するタイプの入力パラメータのみが選択対象として表示されます。
次のタイプの入力パラメータを作成できます。
- 文字列
- 入力時に使用される文字列値を表します。
- タスク内で、文字列パラメータは大部分のインスタンスでテキストボックスとして表示されます。名前付きフィールド文字列パラメータは、フィールドを選択できるフィールドリストを表示します。
- 次の場所で文字列パラメータを使用できます。
- - すべてのトランスフォーメーション: パターンによるフィールドルール名の一括変更
- - すべてのトランスフォーメーション: [名前付きフィールド]フィールドの選択基準のフィールド名
- - フィルタトランスフォーメーションのフィルタ条件値。
- - ジョイナトランスフォーメーションのジョイナ条件値
- - SQLトランスフォーメーションのユーザー入力クエリ
- - トランザクション制御トランスフォーメーションの詳細トランザクション制御条件
- 接続
- 接続を表します。パラメータの接続タイプを指定したり、接続タイプを有効にしたりできます。
- タスク内で、接続のリストが接続パラメータによって表示されます。
- 次の場所で接続パラメータを使用できます。
- - ソース接続
- - ルックアップ接続
- - マップレット接続
- - SQLトランスフォーメーションのデータベース接続
- - ターゲット接続
- データオブジェクトまたはクエリで接続パラメータを使用する場合は、実際の接続でマッピングを設定します。マッピングロジックを設定した後に、接続を接続パラメータに置き換えます。オブジェクトまたはクエリを編集する必要がある場合は、マッピングで接続を再選択します。変更を保存した後に、接続を接続パラメータに再度置き換えます。
- 式
- 式を表します。
- タスク内で、[フィールド式]ダイアログボックスを表示して、式を設定します。
- 次の場所で式パラメータを使用できます。
- - 式トランスフォーメーションの完全な式
- - ジョイナトランスフォーメーションの完全な結合条件
- - ルックアップトランスフォーメーションの完全なルックアップ条件
- - トランザクション制御トランスフォーメーションのトランザクション制御条件
- データオブジェクト
- ソーステーブル、ソースファイルなどのデータオブジェクトを表します。
- タスク内で、選択した接続の利用可能なオブジェクトのリストとして表示されます。
- 次の場所でデータオブジェクトパラメータを使用できます。
- - ソースオブジェクト
- - ルックアップオブジェクト
- - ターゲットオブジェクト
- フィールド
- フィールドを表します。
- タスク内で、選択されたオブジェクトの利用可能なフィールドのリストとして表示されます。
- 次の場所でフィールドパラメータを使用できます。
- - フィルタトランスフォーメーション内のフィルタ条件のフィールド
- - ジョイナトランスフォーメーション内の結合条件のフィールド
- - ルックアップトランスフォーメーション内のルックアップ条件のフィールド
- - トランザクション制御トランスフォーメーションの詳細トランザクション制御条件
- フィールドマッピング
- タスクのフィールドマッピングを表します。完全または部分フィールドマッピングを作成できます。
- タスク内のすべてのフィールドマッピングを設定するときは、完全フィールドマッピングパラメータを使用します。タスク内で、設定用のすべてのフィールドが完全フィールドマッピングパラメータによって表示されます。
- マッピングおよびタスク内でフィールドマッピングを設定するときは、部分フィールドマッピングを使用します。
- 次のように、部分フィールドマッピングパラメータを使用できます。
- - マッピングで設定されたリンクを保持します。タスクで使用する必要のあるマッピング内のフィールドをリンクします。
タスク内で、マッピングされていないフィールドがパラメータによって表示されます。
- - マッピングで設定されたリンクの変更を許可します。タスクで変更できるマッピング内のフィールドをリンクします。
タスク内で、マッピングで設定されたすべてのフィールドとリンクがパラメータによって表示されます。リンクの作成や既存のリンクの変更を行うことができます。
- 次の場所でフィールドマッピングパラメータを使用できます。
- - マップレットトランスフォーメーションのフィールドマッピング
- - ターゲットトランスフォーメーションのフィールドマッピング
- マスクルール
- マスキング方法を表します。
- タスクで、マスクルールパラメータによりマスキング方法のリストが表示されます。受信フィールドごとにマスキング方法を選択および設定します。
入力パラメータの構成
[入力パラメータ]パネルまたはパラメータを使用する場所で、パラメータを作成できます。
[入力パラメータ]パネルには、マッピング内のすべての入力パラメータが表示されます。入力パラメータの詳細と、パラメータを使用するトランスフォーメーションを表示できます。
[入力パラメータ]パネルでパラメータを作成する場合は、任意のタイプのパラメータを作成できます。トランスフォーメーションでは、場所に適したタイプのパラメータを作成できます。
入力パラメータを編集または削除する場合、パラメータを使用するトランスフォーメーションが変更によってどのような影響を受ける可能性があるかを考慮します。例えば、SQLトランスフォーメーションで接続パラメータを使用する場合、接続タイプは[OracleまたはSQL Server]である必要があります。接続パラメータが変更されて接続タイプが[OracleまたはSQL Server]でなくなった場合、SQLトランスフォーメーションで接続パラメータを使用できなくなります。
接続パラメータを使用してマッピングを設定する場合は、特定の接続を使用してマッピングを設定します。その後、使用するソース、ターゲット、またはルックアップオブジェクトを選択して、マッピングを設定できます。マッピングの設定が完了すると、接続をパラメータで置き換えることができます。他のマッピングの詳細が変更されることはありません。
ソース、ルックアップ、またはターゲットオブジェクトで入力パラメータを使用する場合は、マッピング内のオブジェクトのフィールドを定義できません。パラメータ化されたオブジェクトのフィールドを使用する、データフロー内の条件とフィールドマッピングをパラメータ化します。
入力パラメータを作成するときに、パラメータのプロパティを使用して、タスクでパラメータを設定する方法について有用な情報を提供することができます。パラメータの説明はタスクにツールチップとして表示されるため、パラメータ値に関する重要な情報を説明に追加できます。
次の表に、入力パラメータのプロパティを示すとともに、マッピングタスクでどのように表示されるかを説明します。
入力パラメータのプロパティ | 説明 |
---|
名前 | パラメータ名。表示ラベルを設定しない場合は、パラメータ名として表示されます。 表示ラベルを設定する場合、名前はタスクに表示されません。 |
表示ラベル | 表示ラベル。タスク内のパラメータ名として表示されます。 |
説明 | パラメータの説明。タスクにパラメータのツールチップとして表示されます。 パラメータ設定の追加情報や指示を提供するときに使用します。 |
タイプ | パラメータのタイプ。パラメータを使用できる場所を特定します。マッピングタスクでのパラメータの表示方法も設定します。 - - 文字列。テキストボックスを表示します。[名前付きフィールド]選択基準の場合は、フィールドのリストを表示します。
- - 接続。接続のリストを表示します。
- - 式。[フィールド式]ダイアログボックスが表示され、式を作成できます。
- - データオブジェクト。設定済みの接続の使用可能なオブジェクトのリストを表示します。
- - フィールド。選択されたオブジェクトのフィールドのリストを表示します。
- - フィールドマッピング。データフローのフィールドをターゲットオブジェクトにマップできる、フィールドマッピングテーブルを表示します。
|
接続タイプ | タスクで使用する接続のタイプを決定します。パラメータタイプが[接続]の場合に適用されます。 例えば、Oracleを選択します。Oracle接続のみタスクで使用可能です。 |
実行時にパラメータのオーバーライドを許可する | タスクの実行時にパラメータファイルでパラメータ値を変更できるかどうかを決定します。タスクで使用するパラメータ値をパラメータファイルで定義します。 タスクの設定時に、パラメータのデフォルト値を指定します。 データオブジェクトおよび特定の接続タイプでの接続に適用されます。コネクタがソースおよびターゲットの接続とオブジェクトの実行時オーバーライドをサポートするかどうかを確認するには、適切なコネクタのヘルプを参照してください。 注: 実行時にオーバーライドできるソースまたはターゲットのオブジェクトパラメータをマッピングで使用し、既存のオブジェクトがタスクで選択されている場合、パラメータファイルのパラメータ値をNULLにすることはできません。値がNULLの場合、タスクは失敗します。 |
デフォルト値 | デフォルト値。使用可能な場合は、パラメータのデフォルト値として表示されます。 例えば、デフォルト値の接続名を入力し、その接続名が組織に存在しない場合、デフォルト値は表示されません。 |
部分マッピングのオーバーライドを許可する | マッピング設定時に指定されたフィールドマッピングをタスクで変更できるかどうかを決定します。 パラメータタイプが[フィールドマッピング]の場合に適用されます。 マッピングで設定したリンクを適用する場合は、[部分マッピングのオーバーライドを許可する]を選択しないでください。 |
入力パラメータを使用した部分的なパラメータ化
ユーザーが実行時に入力パラメータに基づいてフィールドのいずれかを選択できるようにするために、マッピングで部分的なパラメータ化を実装できます。部分的なパラメータ化を使用して、増分データ読み込みやその他のソリューション用のテンプレートを作成します。
例えば、ソースフィルタを完全にパラメータ化する場合、次の例のようなクエリを含める必要があります。
lastmodified_date > $$myvar
一方、フィルタを部分的にパラメータ化する場合は、次の例に示すように、フィールドを変数として指定できます。
$field$ > $$myvar
この場合、ユーザーはマッピングタスクで必要なフィールドを選択できます。
部分的なパラメータ化を実装するには、データベース接続タイプと、ソーストランスフォーメーションの詳細フィルタまたはフィルタ、式ルータ、アグリゲータのトランスフォーメーションを使用している必要があります。いずれかのフィールドに対して入力パラメータを作成すると、ユーザーは完全なクエリを記述する代わりに、マッピングタスクの特定のフィールドを選択できるようになります。有効なタイプは、「文字列」または「フィールド」のみです。
注: サポートされているすべてのトランスフォーメーションで同じパラメータを使用できます。
次の例では、フィルタ条件でフィールド名にパラメータが使用されています。
部分的なパラメータ化のルールとガイドライン
部分的なパラメータ化を構成する場合は、次の規則とガイドラインに注意してください。
- •ソーストランスフォーメーションの詳細フィルタでフィールドタイプのパラメータを定義した場合、ルータ、フィルタ、式、またはアグリゲータなどのそれ以降のトランスフォーメーションで、そのパラメータを再利用できます。他のトランスフォーメーションでは、フィールドタイプのパラメータを直接使用することはできません。
- •入出力パラメータ($$myVar)からの部分パラメータ化に使用されるパラメータを区別するには、式マクロなどのパラメータを$<Parameter_Name>$などのように表します。
- •オブジェクトが複数含まれるソーストランスフォーメーションでフィールドタイプのパラメータを使用する場合は、パラメータにオブジェクト名を付加します。マッピングのオブジェクト名を使用するか、または文字列型のパラメータを使用して、マッピングタスクでこれを設定します。
- •部分的なパラメータ化では、パラメータファイルを介して値を渡すことはできません。
- •部分的なパラメータ化を使用する式では、ユーザー定義関数は使用できません。例えば、下記の式は有効ではありません。
concat($Field$,:UDF.RemoveSpaces(NAME))
マッピングでのパラメータの使用
マッピングでパラメータを使用する場合、マッピングタスクを実行するたびごとにパラメータ値を変更できます。パラメータ値は、マッピングタスクまたはパラメータファイルで指定します。
マッピングでパラメータを使用する場合は、次のガイドラインを使用します。
- ソースパラメータを含むマッピングを作成する場合は、マッピングを設定した後にパラメータを追加します。
例えば、異なるデータベースに複数の顧客アカウントテーブルがあり、月次レポートを実行して特定の状態にある顧客を表示するとします。マッピングを作成する場合は、ソース接続、ソースオブジェクト、および状態のパラメータを使用します。タスクの設定時に、実行時に使用するパラメータ値を更新します。
マッピングを設定するには、以下の手順を実行します。
- 1マッピングで、ソーストランスフォーメーションを選択します。
- 2[ソース]タブで、使用するオブジェクトのいずれかが含まれる接続を選択して、ソースオブジェクトを選択します。
マッピングの設定後に、ソース接続とオブジェクトをパラメータに置き換えます。ソース接続がパラメータの場合は、ソースオブジェクトを選択できません。ダウンストリームデータを設定できるようにするために、ソースオブジェクトを追加します。
- 3フィルタトランスフォーメーションを追加します。
- 4[フィルタ]タブでフィルタ条件を追加します。フィールド名に[状態]を選択し、値に対して新しい文字列パラメータを作成します。タスクを設定するときに、パラメータを解決します。
- 5ターゲットトランスフォーメーションを設定します。
- 6ソーストランスフォーメーションを選択します。
- 7[ソース]タブで、ソース接続とソースオブジェクトをパラメータに置き換えます。
- 実行時に作成するパラメータ化されたターゲットを使用してマッピングを作成する場合は、ターゲットフィールドマッピングを[自動]に設定します。
- パラメータ化されたターゲットオブジェクトを使用してマッピングを作成し、実行時にターゲットを作成する場合は、ターゲットトランスフォーメーションの[フィールドマッピング]タブでターゲットフィールドマッピングを[自動]に設定する必要があります。自動フィールドマッピングによって、同じ名前のフィールドが自動的にリンクされます。ターゲットオブジェクトをパラメータ化する際に、フィールドを手動でマッピングすることはできません。
- 詳細モードとSQL ELTモードのマッピングで、トランスフォーメーション全体に同じ入力パラメータを使用する場合は注意してください。
詳細モードまたはSQL ELTモードでのマッピングの複数のトランスフォーメーションで同じ入力パラメータを使用すると、マッピングタスクで予期しない動作が発生する可能性があります。
例えば、マッピングに式トランスフォーメーションとそれに続くアグリゲータトランスフォーメーションが含まれ、両方のトランスフォーメーションの式で同じ式パラメータが使用されているとします。マッピングタスクでパラメータを設定すると、アグリゲータトランスフォーメーションが式トランスフォーメーションの下流にあるため、[組み込み関数]リストには集計関数が表示されません。このような予期しない動作を回避するには、詳細モードとSQL ELTモードのマッピングで、それぞれのトランスフォーメーションに異なる入力パラメータを使用します。