Informatica 中的规范化器转换示例

什么是规范化变换?

规范化器是一种主动转换,用于将单行转换为多行,反之亦然。这是一种以更有条理的方式表示数据的智能方法。

如果一行中有多个列重复的数据,则可以将其拆分为多行。有时我们会在多个出现的列中有数据。例如

学生姓名 9 级成绩 10 级成绩 11 级成绩 12 级成绩
学生1 50 60 65 80
学生2 70 64 83 77

在这种情况下,班级分数列重复四列。使用规范化器,我们可以将它们拆分到以下数据集中。

学生姓名 增益级 成绩 / 分数
学生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”并导入 Informatica的

下载上述 Sales_Source.txt 文件

步骤2)创建一个具有源“sales_source”和目标表“sales_target”的映射

信息学中的规范化转换

步骤3) 从转换菜单中创建一个新的转换

  1. 选择规范化器作为转换
  2. 输入名称“nrm_sales”
  3. 选择创建选项

信息学中的规范化转换

步骤4) 将创建转换,选择完成选项

信息学中的规范化转换

步骤5) Double 点击规范化器转换,然后

  1. 选择规范化器选项卡
  2. 点击图标创建两列
  3. 输入列名称
  4. 将销售额的发生次数设置为 4,将商店名称的发生次数设置为 0
  5. 选择“确定”按钮

信息学中的规范化转换

转换过程中将生成列。您将看到 4 个销售列,因为我们将出现次数设置为 4。

信息学中的规范化转换

步骤6) 然后在 制图

  1. 将四个季度的四列源限定符分别链接到规范化器列。
  2. 将商店名称列链接到规范化器列
  3. 将 store_name 和 sales 列从规范化器链接到目标表
  4. 将 GK_sales 列从规范化器链接到目标表

信息学中的规范化转换

保存映射并在创建会话后执行 工作流程。对于商店每个季度的销售额,规范化转换将创建单独的一行。

我们的映射输出将是这样的 -

商店名称 销售
新德里 1 150
新德里 2 240
新德里 3 455
新德里 4 100
MUMBAI 1 100
MUMBAI 2 500
MUMBAI 3 350
MUMBAI 4 340

源数据有重复列,即 QUARTER1、QUARTER2、QUARTER3 和 QUARTER4。借助规范化器,我们重新排列数据以适合 QUARTER 的单个列,并且对于一个源记录,在目标中创建了四个记录。

通过这种方式,您可以规范化数据并为单一数据源创建多个记录。

总结一下这篇文章: