Informatica でのノーマライザー変換と例
ノーマライザー変換とは何ですか?
ノーマライザーはアクティブな変換であり、単一行を複数行に変換したり、その逆に変換したりするために使用されます。 これは、データをより組織的に表現するための賢い方法です。
単一行に複数の列に繰り返しデータがある場合、そのデータを複数の行に分割できます。 場合によっては、複数の列にデータが存在することがあります。 例えば
| 学生の名前 | クラス9のスコア | クラス10のスコア | クラス11のスコア | クラス12のスコア |
|---|---|---|---|---|
| 学生1 | 50 | 60 | 65 | 80 |
| 学生2 | 70 | 64 | 83 | 77 |
この場合、クラス スコア列は 4 つの列で繰り返されます。正規化機能を使用すると、次のデータ セットでこれらを分割できます。
| 学生の名前 | CLASS | スコア |
|---|---|---|
| 学生1 | 9 | 50 |
| 学生1 | 10 | 60 |
| 学生1 | 11 | 65 |
| 学生1 | 12 | 80 |
| 学生2 | 9 | 70 |
| 学生2 | 10 | 64 |
| 学生2 | 11 | 83 |
| 学生2 | 12 | 77 |
ステップ1) スクリプトを使用してソーステーブル「sales_source」とターゲットテーブル「sales_target」を作成し、インポートします。 情報
上記の Sales_Source.txt ファイルをダウンロードします
ステップ2)マップを作成するping ソーステーブル「sales_source」とターゲットテーブル「sales_target」を持つ
ステップ3) 変換メニューから新しい変換を作成します
- 変換としてノーマライザーを選択
- 名前「nrm_sales」を入力します
- 作成オプションを選択
ステップ4) 変換が作成されます。完了オプションを選択します
ステップ5) Double ノーマライザー変換をクリックしてから、
- ノーマライザータブを選択します
- アイコンをクリックして XNUMX つの列を作成します
- 列名を入力してください
- 出現数を売上に4、店名に0を設定します。
- 「OK」ボタンを選択
変換中に列が生成されます。 出現数を 4 に設定しているため、売上数列が 4 つ表示されます。
ステップ6) その後、 地図ping
- XNUMX つの四半期のソース修飾子の XNUMX つの列をノーマライザー列にそれぞれリンクします。
- ストア名列をノーマライザー列にリンクする
- store_name 列と sales 列をノーマライザーからターゲット テーブルにリンクする
- GK_sales 列をノーマライザーからターゲット テーブルにリンクします
マップを保存するping セッションを作成した後に実行し、 ワークフロー。 店舗の四半期売上ごとに、ノーマライザー変換によって別の行が作成されます。
私たちの地図の出力ping こんな感じになるでしょう –
| 店舗名 | 四半期 | 営業 |
|---|---|---|
| DELHI | 1 | 150 |
| DELHI | 2 | 240 |
| DELHI | 3 | 455 |
| DELHI | 4 | 100 |
| ムンバイ | 1 | 100 |
| ムンバイ | 2 | 500 |
| ムンバイ | 3 | 350 |
| ムンバイ | 4 | 340 |
ソース データには、QUARTER1、QUARTER2、QUARTER3、QUARTER4 という繰り返し列がありました。 ノーマライザーを使用して、QUARTER の XNUMX つの列に収まるようにデータを再配置し、XNUMX つのソース レコードに対して XNUMX つのレコードがターゲットに作成されます。
このようにして、データを正規化し、単一のデータ ソースに対して複数のレコードを作成できます。






