Informatica でのルックアップ変換 (例)

⚡ スマートサマリー

Informaticaのルックアップ変換は、リレーショナルテーブル、フラットファイル、ビュー、またはシノニムを読み込み、入力された各行に対応する値を返します。これは、片側がルックアップソースとなる結合として機能します。

  • 🔎 試合の勝敗はコンディションによって左右される。 「条件」タブには、DEPTNO = DEPTNO1 のような比較条件が表示され、どの検索行が返されるかを決定します。
  • 🧪 実例: セブンマップping 設計ステップでは、ジョイナーを使用せずに、DEPT から EMP_DEPTNAME ターゲットに部門名を取得します。
  • 🔌 接続済みか未接続か: 接続されたルックアップはパイプライン内に配置されますが、接続されていないルックアップは:LKP修飾子を持つ式から呼び出されます。
  • <XNUMXxEXNUMX><XNUMXxEXNUMX><XNUMXxXNUMXA><XNUMXxXNUMX><XNUMXxXNUMXA>️️ デフォルトではパッシブ: 1行だけを返すと変換はパッシブ状態になり、一致するすべての行を返すとアクティブ状態になります。
  • ♻️ 再利用可能なオブジェクト: 「再利用可能にする」にチェックを入れると、1 つの変換が複数のマップのオブジェクトになりますpingsは共有できます。
  • ⚠️ 一方通行のプロモーション: 再利用可能な形に昇格された変換は降格できないため、確認プロンプトは注意深く読む必要がある。

Informatica でのルックアップ変換

ルックアップ変換とは何ですか?

ルックアップ変換とは、ソース、ソース修飾子、またはターゲットを検索して関連データを取得するために使用される変換です。基本的には、結合操作の一種であり、結合するテーブルの一方がソースデータ、もう一方がルックアップテーブルとなります。ルックアップソース自体は、リレーショナルテーブル、ビュー、シノニム、またはフラットファイルです。

この変換は、入力行ごとに1行を返す間はパッシブです。PowerCenter 9.x以降では、条件に一致するすべての行を返すように作成することも可能で、そのモードではアクティブな変換となります。この選択は変換の作成時に行われ、後から変更することはできません。

地図上に配置する方法は2つありますpingそして、その差分によって、返された値がパイプラインの残りの部分にどのように渡されるかが決まります。

側面 接続済み検索 未接続検索
役職 パイプライン内に位置し、前の変換から値を受け取ります。 パイプラインの外にあり、式から呼び出されます。
どのように呼ばれるか 行が入力ポートに流れ込む :LKP参照修飾子付きで呼び出されました
返される値 複数の出力ポートを下流に接続できます 戻り値の1つは呼び出し元の式に戻ります。
典型的な使用 各行には参照列が必要です ルックアップは一部の行に対してのみ必要となる場合、または同じルックアップが複数の場所から呼び出される場合がある。

以前のトピックでは、 ジョイナ変換 「emp」テーブルと「dept」テーブルを結合して部署名を取得します。このセクションでは、Lookup変換を使用して同じ処理を実装します。

ルックアップ変換の作成方法

Informaticaでルックアップ変換を作成する手順は以下のとおりです。

ステップ1) 新しい地図を作成するping EMPをソース、EMP_DEPTNAMEをターゲットとするマップ。ping デザイナーキャンバスには、ソース、そのソース修飾子、およびターゲット定義が格納されます。

地図ping EMPソース、そのソース修飾子、およびEMP_DEPTNAMEターゲットを含むデザイナーキャンバス

ステップ2) 「変換」メニューを使用して新しい変換を作成し、「変換の作成」ウィンドウで次の操作を行います。

  1. 変換としてルックアップ変換を選択します。
  2. 変換名「lkp_dept」を入力します
  3. 作成オプションを選択

「ルックアップ変換」を選択し、「lkp_dept」という名前を入力して変換ウィンドウを作成します。

ステップ3) これにより、ルックアップテーブルウィンドウが開きます。このウィンドウでは、次の操作を行います。

  1. ソースを選択ボタン
  2. DEPTテーブルの選択
  3. 「OK」ボタンを選択

ソースボタンが選択され、DEPTテーブルがハイライト表示された状態で、ルックアップテーブルダイアログを選択します。

ステップ4) DEPTテーブルの列を使用してルックアップ変換が作成されますので、「完了」ボタンを選択してください。lkp_deptオブジェクトには、ルックアップポートとしてDEPTNO、DNAME、LOCが格納されます。

ルックアップ変換lkp_deptは、DEPTテーブルの列をルックアップポートとして使用して作成されました。

ステップ5) ソース修飾子からルックアップ変換にDEPTNO列をドラッグアンドドロップすると、ルックアップ変換に新しい列DEPTNO1が作成されます。次に、ルックアップ変換のDNAME列をターゲットテーブルにリンクします。

Lookup変換は、DEPTNO1の値に基づいて部署名を検索して返します。DEPTNO1は従業員の部署名番号を含む入力ポートであり、DEPTNOはDEPTルックアップテーブルから読み取られたポートです。

DEPTNOはソース修飾子からlkp_deptにリンクされ、DNAMEはEMP_DEPTNAMEターゲットにリンクされます。

ステップ6) Double 「ルックアップ」変換をクリックします。次に、変換の編集ウィンドウで、次の操作を行います。

  1. 条件タブを選択
  2. 条件列を DEPTNO = DEPTNO1 に設定します。
  3. 「OK」ボタンを選択

条件 DEPTNO = DEPTNO1 を入力済みの「変換の編集」ウィンドウの「条件」タブ

ステップ7) ソース修飾子の残りの列をターゲットテーブルにリンクします。

EMP_DEPTNAMEターゲットテーブルにリンクされている残りのソース修飾子列

さて、保存してください 地図ping セッションとワークフローを作成した後、それを実行します。このマップping Lookup変換を使用して部署名を取得します。

ルックアップ変換はDEPTテーブルを検索するように設定されており、結合条件は部門番号に基づいて設定されています。複数のDEPT行が条件を満たす場合、[プロパティ]タブの[複数一致時のルックアップポリシー]プロパティによって返される値が決定されます。

再利用可能な変換

通常の変換はマップに属するオブジェクトですping そしてそのマップ内で使用できますping ただし、変換を再利用可能にすることで、複数のマップ内で再利用できます。pings.

例えば、従業員番号に基づいて従業員の詳細を取得するルックアップ変換は、複数のマップで使用できます。ping従業員の詳細が必要なあらゆる場所で。

再利用可能な変換を使用することで、同じ機能を再度作成する作業の手間が軽減されます。すべてのマップping は、保存されているオブジェクトのインスタンスを保持しているため、再利用可能な変換に加えられた変更は、それらすべてに反映されます。

再利用可能な変換を作成する方法

再利用可能な変換を作成する手順は以下のとおりです。

ステップ1) 地図を開くping これは変化を起こしており、ここでは ランク変換 再利用可能。

地図ping 再利用可能にしようとしているランク変換を使用してデザイナーで開きました

ステップ2) Double 変換をクリックして、変換編集ウィンドウを開きます。次に:

  1. ウィンドウで「変換」タブを選択します
  2. 変換を再利用可能にするにはチェックボックスをオンにします
  3. 確認ウィンドウで「はい」を選択します
  4. 変換プロパティウィンドウで「OK」を選択します。

「変換の編集」ウィンドウの「変換」タブで、「再利用可能にする」チェックボックスが選択されている状態

これにより、変換が再利用可能になります。3 番目の項目の確認ウィンドウは、承認する前に読む価値があります。変換を再利用可能にすることは、デザイナーでの一方通行の変更であり、その後オブジェクトを降格することはできません。単一のマップの場合ping 独自のコピーが必要な場合は、Ctrl キーを押しながら再利用可能なオブジェクトをキャンバスにドラッグして、代わりに再利用できないインスタンスを作成します。

よくあるご質問

キャッシュは検索対象を一度メモリにロードすることで、データベースへのクエリを実行する代わりに各行をローカルで照合します。キャッシュは、小規模な検索対象や繰り返し読み込まれる検索対象に適しています。キャッシュを使用しない検索では、受信する行ごとに検索対象にクエリが実行されます。

片側が小さな参照テーブルで、必要な列が少数しかない場合、特に同じ参照を複数の場所から読み込む場合は、ルックアップを使用してください。ジョイナーは、2つの大規模な異種パイプラインを真に結合させるのに適しています。

複数一致時のルックアップポリシープロパティが決定します。エラーを報告するか、最初、最後、または任意の一致値を返すことができます。一致するすべての値を返すように選択すると、変換が有効になり、作成時に設定する必要があります。

通常は、検索対象のデータ量が多いことが原因です。キャッシュされていない検索では、行ごとにデータベースにクエリが実行されますが、キャッシュされた検索では、構築コストが前払いされます。使用されていない検索ポートを削除したり、検索クエリを絞り込んだりすることで、改善が期待できます。

最新のデータ統合ツールでは、機械学習を用いて、ソーステーブルと参照テーブル間の列の一致を提案したり、セッション実行時間を圧迫するルックアップを特定したりしています。ただし、提案された内容はすべて、実際のデータと照合して検証する必要があります。

副操縦士が地図周辺のテキスト作成を補助しますping デザイナーキャンバスではなく、SQLオーバーライド、パラメータファイル、ワークフローを実行するスクリプトを検索します。リポジトリを参照できないため、ポート名と条件は手動で確認する必要があります。

再利用可能な変換とは、複数のマップで共有される単一の保存済みオブジェクトです。pingマプレットとは、入力グループと出力グループを持つ、再利用可能な変換のセットであり、単一のステップではなく、ロジック全体をパッケージ化したものです。

参照元の行には、入力行の条件を満たす行がありませんでした。比較は完全一致で行われるため、2つのポート間で末尾の空白、大文字小文字の違い、データ型の不一致がないか確認してください。