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)ソース「sales_source」とターゲット表「sales_target」を持つマッピングを作成します。
ステップ3) 変換メニューから新しい変換を作成します
- 変換としてノーマライザーを選択
- 名前「nrm_sales」を入力します
- 作成オプションを選択
ステップ4) 変換が作成されます。完了オプションを選択します
ステップ5) Double ノーマライザー変換をクリックしてから、
- ノーマライザータブを選択します
- アイコンをクリックして XNUMX つの列を作成します
- 列名を入力してください
- 出現数を売上に4、店名に0を設定します。
- 「OK」ボタンを選択
変換中に列が生成されます。 出現数を 4 に設定しているため、売上数列が 4 つ表示されます。
ステップ6) その後、 マッピング
- XNUMX つの四半期のソース修飾子の XNUMX つの列をノーマライザー列にそれぞれリンクします。
- ストア名列をノーマライザー列にリンクする
- store_name 列と sales 列をノーマライザーからターゲット テーブルにリンクする
- GK_sales 列をノーマライザーからターゲット テーブルにリンクします
マッピングを保存し、セッションの作成後に実行し、 ワークフロー。 店舗の四半期売上ごとに、ノーマライザー変換によって別の行が作成されます。
マッピングの出力は次のようになります –
店舗名 | 四半期 | 営業 |
---|---|---|
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 つのレコードがターゲットに作成されます。
このようにして、データを正規化し、単一のデータ ソースに対して複数のレコードを作成できます。