Informatica でのルーター変換: 複数の条件の例
⚡ スマートサマリー
Informaticaのルーター変換は、アクティブな接続オブジェクトであり、受信した行を複数のグループフィルタ条件に対して一度にテストし、各行を一致する出力グループ、またはデフォルトグループに送信します。
ルーター変換とは何ですか?
ルーター変換は、フィルタ変換に似たアクティブで接続された変換であり、ソースデータをフィルタリングするために使用されます。
フィルタリングに加えて提供される追加機能は、破棄されたデータ(フィルタリングされたデータ)もマップに収集できることです。pingまた、複数のフィルタ条件を適用することで、複数のデータセットを取得することも可能です。
例えば、deptno = 10 のデータをフィルタリングする場合、deptno が 10 と等しくないレコードも取得できます。このように、ルーター変換では複数の出力グループが生成され、各出力グループには独自のフィルタ条件を設定できます。
さらに、デフォルトグループも存在します。このデフォルトグループには、いずれのグループ条件も満たさないレコードセットが含まれます。例えば、フィルタ条件「deptno=10」と「deptno=20」に対してそれぞれグループを作成した場合、deptnoが10でも20でもないレコードは、このデフォルトグループに渡されます。
つまり、フィルタグループによって拒否されたデータは、このデフォルトグループによって収集されます。そして、場合によっては、この拒否されたデータを保存する必要があることがあります。そのようなシナリオでは、デフォルト出力グループが役立ちます。
複数のフィルタ条件を許可するため、ルーター変換にはグループオプションが用意されています。
- 入力データを受け取るデフォルトの入力グループがあります。
- また、どのフィルタ条件にも該当しないすべてのデータを提供するデフォルトの出力グループも存在します。
- フィルタ条件ごとに、ルーター変換で出力グループが作成されます。これらの異なるグループに、異なるターゲットを接続できます。
ルーター変換の構成要素
地図を作成する前にpingそのため、Designer が作成する 4 つの部分を知っておくと便利です。ルーター変換は、1 つの入力グループ、一連の出力グループ、それらの内部のポート、および各行の配置場所を決定する条件で構成されます。
| 成分 | 何それがありません |
|---|---|
| 入力グループ | 変換処理の唯一のエントリポイントです。出力グループがいくつ存在しても、入力されるすべての行はここに一度だけ到着します。 |
| ユーザー定義出力グループ | 自分で作成して名前を付けるグループ(例:deptno_20)。各グループには独自のグループフィルタ条件があります。 |
| デフォルト出力グループ | 最初のユーザー定義グループが存在するとすぐに自動的に作成されます。フィルター条件はなく、編集または削除することはできません。 |
| グループフィルター条件 | 式エディタで記述されたブール式。この式がTRUEと評価される行は、そのグループを通過します。 |
設計者は入力グループから出力グループにポート定義をコピーするため、ポートをグループごとに再作成する必要はありません。この設計から、次の2つのルールが導き出されます。
- 行は重複させることができます。 ある行が複数のグループフィルタ条件を満たす場合、一致する各グループに一度ずつ渡されます。これが、ターゲットの行数がソースの行数より多くなる一般的な理由です。
- 行を削除できます。 デフォルトグループが接続されていない場合、そこに到達した行はパイプラインから単純に消えてしまうため、不要なデータを破棄する最も迅速な方法となります。
ルーター変換とフィルタ変換の比較
どちらのオブジェクトもデータを条件と照合し、どちらもアクティブな変換処理であるため、どちらを選択するかは、関係する条件の数と、拒否された行が重要かどうかによって決まります。
| 比較のポイント | フィルタ変換 | ルーター変換 |
|---|---|---|
| オブジェクトごとの条件 | 1 | 1つまたは複数、それぞれが独自のグループに属する |
| 拒否された行 | 削除され、利用できません | デフォルトグループに収集されました |
| 出力グループ | 単一の出力パイプライン | グループごとに1つのパイプライン、加えてデフォルトグループ |
| 情報源によると | 条件が連鎖している場合、フィルターごとに1回の読み取りが必要です。 | あらゆる状況に対応できる1つの読み物 |
| 典型的な使用 | 不要な行を削除する | 1つのソースを複数のターゲットに分割する |
フィルタ変換で 3 つの条件をテストすると 3 つのオブジェクトが生成され、チェーンされた設計では同じソース行が繰り返し評価されます。 1 つのルーターは同じ作業を 1 回のパスで実行するため、2 番目の条件が現れた場合は一般的にルーターの方が効率的なオプションとなります。 1 つの使い捨て条件の場合は、よりシンプルな フィルタ変換 やはりそちらの方が適している。
Informaticaでルーター変換を作成する方法
以下の手順では、部門20の従業員をターゲットテーブルに送信するルーターを作成します。マップの9つのステップを順番に実行してください。ping デザイナー。
ステップ1) 作る 地図ping ソース「EMP」とターゲット「EMP_TARGET」を持つマップ。ping デザイナーキャンバスには、以下に示すように、ソース定義、そのソース修飾子、およびターゲット定義が格納されます。
ステップ2) 次に地図上でping
- 変換メニューを選択します
- 作成オプションを選択
ウィザードを起動するために使用するメニューパスは、次のスクリーンショットで強調表示されています。
ステップ3) 変換の作成ウィンドウで
- ルーター変換の選択
- 変換の名前「rtr_deptno_10」を入力します。
- 「作成」オプションを選択します
ステップ4) ルーター変換はマップ内に作成されますpingウィンドウで「完了」オプションを選択します。両方の手順で使用される「変換の作成」ウィンドウを以下に示します。
ステップ5) すべての列をドラッグ アンド ドロップします。 ソース修飾子 ルーターへの変換です。スクリーンショットに示すように、すべてのポートが新しいオブジェクトにリンクされます。
ステップ6) Double ルーター変換をクリックし、その変換プロパティで
- グループタブを選択
- グループ名「deptno_20」を入力
- グループフィルター条件をクリックします
次に、新しく追加されたグループが表示された「グループ」タブが表示されます。
ステップ7) 式エディタで、フィルタ条件「deptno=20」を入力し、「OK」ボタンを選択します。この条件を含むエディタ画面を以下に示します。
ステップ8) グループウィンドウで「OK」ボタンを選択します。次のスクリーンショットに示すように、条件がグループに表示されます。
ステップ9) Router変換のグループdeptno_20のポートをターゲットテーブルのポートに接続します。完成したマップping ソースからグループを経由してEMP_TARGETまで実行されます。
さて、このマップを実行するとping、フィルタリングされたレコードがターゲットテーブルにロードされます。
ルーター変換のベストプラクティスとよくあるエラー
地図ping 上記では1つのグループを使用しているため、後々サポートチケットが発生する原因となる動作のほとんどが隠蔽されています。以下では、2つ目のグループが登場した場合に何が変わるかを説明します。
- 重複した行に注意してください。 グループ条件は相互に排他的ではありません。あるグループで「sal>1000」、別のグループで「deptno=20」と記述すると、両方の条件を満たす従業員が二重に登録されてしまいます。条件を排他的にするか、意図的に重複を許容してください。
- 拒否が重要な場合は、デフォルトグループに接続してください。 デフォルトグループがターゲットまたは拒否ファイルに接続されている場合を除き、どの条件も満たさない行は失われます。監査可能なロードでは通常、これらの行は保持されます。
- グループ名は、対象ではなくルールに基づいて命名してください。 例のグループ deptno_20 は明確に読み取れますが、group1 というグループはそうではありません。このチュートリアルでは変換自体の名前が rtr_deptno_10 であるのに対し、グループは deptno 20 でフィルタリングしていることに注意してください。これはまさに命名規則によって防止される種類の不一致です。
- 可能な限り、ルーティング前にフィルタリングを行ってください。 どのグループも必要としない行は、ルーターに渡すよりもソース修飾子クエリで削除する方がコストが低い。
- ルーターを結合として扱わないでください。 1 つのパイプラインを複数に分割します。分岐を再び結合するにはユニオン変換が必要であり、2 つの異なるソースを組み合わせるには ジョイナ変換.
条件がTRUEまたはFALSEではなくNULLを返すグループは一致しないものとして扱われるため、テスト対象の列にNULL値がある行はデフォルトグループにフォールスルーされます。条件でNULLを明示的に処理することで、このような予期せぬ事態を回避できます。 性能調整 そしてテスト。








![グループフィルタ条件は、[変換の編集]ウィンドウでdeptno_20グループに対して保存されました。](https://www.guru99.com/images/informatica/083115_1128_RouterTrans7.png)
