Informatica 中的源限定符转换(含示例)
什么是 Source Qualifier Transformation?
Source Qualifier Transformation 是一个活动连接的转换,用于表示集成服务读取的行。每当我们向映射中添加关系源或平面文件时,都需要 Source Qualifier Transformation。当我们向映射添加源时,Source Qualifier Transformation 会自动添加。通过 Source Qualifier,我们可以定义和覆盖数据从源中获取的方式。
在下面的示例中,我们将修改映射“m_emp_emp_target”的 Source Qualifier,使其不再返回所有列,而是只返回选定的列。
步骤 1) 在映射设计器中打开映射“m_emp_emp_target”。
步骤 2) 双击 Source Qualifier Transformation “SQ_EMP”。这将打开其“编辑转换”属性窗口。然后
- 点击“属性”选项卡
- 点击 SQL 查询修改选项,这将打开一个 SQL 编辑器窗口
步骤 3) 在 SQL 编辑器窗口中
- 输入以下查询
SELECT EMPNO, ENAME, JOB, MGR FROM EMP注意 – 我们正在从源中选择 EMPNO、ENAME、JOB 和 MANAGER 列,因此我们在 select 查询中只保留了这些列
- 选择“确定”按钮
步骤 4) 在“编辑转换”窗口中,
- 从菜单中选择“端口”选项卡
- 在“端口”选项卡下,您将看到所有端口。只保留 EMPNO、ENAME、JOB、MGR 端口,删除其他端口
步骤 5) 删除端口后,点击“确定”按钮
现在,再次点击“编辑转换”窗口中的“属性”选项卡,您将只看到您选择的数据。
当您点击“确定”按钮时,它将打开SQL 编辑器窗口。
- 它将确认您选择的数据是正确的,并已准备好加载到目标表中
- 点击“确定”按钮继续处理
保存映射(使用 Ctrl+S 快捷键)并执行工作流,执行后只有选定的列将被加载到目标表中。
这样,您就可以在 Source Qualifier 中覆盖需要从源中获取的列,并且这是覆盖特定列进入映射的唯一方法。
Source Qualifier 的属性
您可以使用 Source Qualifier 的各种属性来确定需要将哪种类型的源数据转换为目标表。
- 源过滤器 – 使用源过滤器属性,您可以过滤源记录的数量。例如,您只想获取部门编号为 10 的员工,那么您可以在源过滤器属性中输入 filter condition deptno=10 并执行数据。
- 排序端口数 – 在 Source Qualifier Transformation 中,您还可以根据端口号对输入记录进行排序。因此,当数据传递到映射内的转换时,它将读取端口号并相应地对数据进行排序。
由于数据可以根据单个或多个端口进行排序,因此您必须提供用于排序的端口数。如果提供值 1,则只有 empno 数据将被排序。如果您提供值 2,则 empno 和 ename 这两个列的数据都将被排序。
- 选择不重复 – 您可以使用此属性从源中获取不重复的记录。当您选择“选择不重复”选项时,Source Qualifier 将只获取源数据的唯一组合。