接続されていないルックアップ
接続されていないルックアップトランスフォーメーションは、マッピング内の他のトランスフォーメーションに関連付けられていないルックアップトランスフォーメーションです。マッピングパイプラインのトランスフォーメーションが、:LKP式でルックアップトランスフォーメーションを呼び出します。接続されていないルックアップトランスフォーメーションは、呼び出し元のトランスフォーメーションに1つのカラムを返します。
接続されていないルックアップトランスフォーメーションを使用して、次のタイプのデータオブジェクトにルックアップを実行できます。
- •フラットファイル
- •リレーショナルデータベース
- •Amazon Redshift V2
- •Amazon S3 V2
- •Google BigQuery V2
- •Microsoft Azure Synapse SQL
- •Snowflake Data Cloud
次の表に、接続されているルックアップトランスフォーメーションと接続されていないルックアップトランスフォーメーションの違いを示します。
機能 | 接続されたルックアップ | 未接続のルックアップ |
---|
入力値 | 入力値をマッピングパイプラインから直接受け取ります。 | 入力値を別のトランスフォーメーションの:LKP式の結果から受け取ります。 |
キャッシュ | キャッシュには、マッピングで使用されるすべてのルックアップカラムが格納されます。これには、ルックアップ条件のカラム、および出力フィールドとして他のトランスフォーメーションにリンクされるカラムが含まれます。 静的キャッシュまたは動的キャッシュを使用できます。 | キャッシュには、ルックアップ条件のすべてのルックアップ/出力フィールドおよびルックアップ/戻りフィールドが格納されます。 動的キャッシュは使用できません。 |
戻り値 | 同じ行の複数の値を返します。 | 各行の特定のフィールドを返します。 |
ルックアップ条件 | ルックアップ条件に一致するものがない場合、データ統合はすべての出力フィールドにデフォルト値を返します。 一致するものがある場合、データ統合は、すべてのルックアップ/出力フィールドにルックアップ条件の結果を返します。 | ルックアップ条件に一致するものがない場合、データ統合はNULLを返します。 一致するものがある場合、データ統合は、ルックアップ条件の結果を戻り値フィールドに返します。 |
出力値 | 複数の出力値を別のトランスフォーメーションに渡します。ルックアップ/出力フィールドを別のトランスフォーメーションにリンクします。 | 1つの出力値を別のトランスフォーメーションに渡します。ルックアップ/出力/戻りフィールドは、次の:LKP式を含むトランスフォーメーションに値を渡します。 |
接続されていないルックアップトランスフォーメーションの設定
接続されていないルックアップトランスフォーメーションを設定するには、[接続されていないルックアップ]オプションを選択し、入力フィールドを追加し、ルックアップ条件を設定して、戻り値を指定します。次に、別のトランスフォーメーションでルックアップ式を構成します。
1ルックアップトランスフォーメーションの[全般]タブで、[接続されていないルックアップ]オプションを有効にします。
2受信フィールドを作成します。
ルックアップトランスフォーメーションの[受信フィールド]タブで、:LKP式の各引数に対して入力フィールドを作成します。作成したいルックアップ条件のそれぞれに対して、受信フィールドをルックアップトランスフォーメーションに追加しなければなりません。各条件で異なるポートを作成できます。また、複数の条件で同じ受信フィールドを使用することもできます。
3戻り値を指定します。
ルックアップトランスフォーメーションに複数の入力値を渡し、データのカラムを1つ返すことができます。データ統合は、ルックアップクエリから1つの値を返します。戻りフィールドを使用して、戻り値を指定します。
4別のトランスフォーメーションのルックアップ式を設定します。
式、アグリゲータ、フィルタ、またはルータトランスフォーメーションなどの式を使用するトランスフォーメーションの:LKP式から、接続されていないルックアップトランスフォーメーションの入力値を指定します。引数は、ルックアップ条件に使用されているルックアップトランスフォーメーションのローカル入力フィールドと一致するローカル入力ポートです。
別のトランスフォーメーションからの接続されていないルックアップの呼び出し
式トランスフォーメーションやアグリゲータトランスフォーメーションなどの別のトランスフォーメーションで、:LKP式から接続されていないルックアップトランスフォーメーションの入力値を指定します。1つのマッピングで同じルックアップを複数回呼び出すことができます。接続されていないルックアップはジョイナまたはJavaトランスフォーメーションから呼び出せません。
:LKP式には以下の構文を使用します。
:LKP.<Lookup transformation name> (<argument>, <argument>, ...)
引数は、ルックアップ条件に使用されているルックアップトランスフォーメーションのローカル入力フィールドと一致するローカル入力ポートです。
例えば、次の式は、ITEM_IDとPRICEフィールドをlkp_ItemPricesという名前のないルックアップトランスフォーメーションに渡します。
:LKP.lkp_ItemPrices (ITEM_ID, PRICE)
コネクトされていないLookupトランスフォーメーションを呼び出す式を記述するときは、以下のガイドラインに従ってください。
- •各引数を記述する順序は、Lookupトランスフォーメーションのルックアップ条件の順序と一致しなければなりません。
- •式のフィールドのデータタイプは、ルックアップトランスフォーメーションの入力ポートのデータタイプと一致しなければなりません。
- •式の引数(フィールド)は、ルックアップ条件の入力ポートと同じ順に並んでいなければなりません。
- •:LKP式で接続されたルックアップトランスフォーメーションを呼び出すと、データ統合では、そのマッピングが無効としてマークされます。