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”。

Source Qualifier Transformation in Informatica with EXAMPLE

步骤 2) 双击 Source Qualifier Transformation “SQ_EMP”。这将打开其“编辑转换”属性窗口。然后

  1. 点击“属性”选项卡
  2. 点击 SQL 查询修改选项,这将打开一个 SQL 编辑器窗口

Source Qualifier Transformation in Informatica with EXAMPLE

步骤 3) 在 SQL 编辑器窗口中

  1. 输入以下查询
    SELECT EMPNO, ENAME, JOB, MGR FROM EMP

    注意 – 我们正在从源中选择 EMPNO、ENAME、JOB 和 MANAGER 列,因此我们在 select 查询中只保留了这些列

  2. 选择“确定”按钮

Source Qualifier Transformation

步骤 4) 在“编辑转换”窗口中,

  1. 从菜单中选择“端口”选项卡
  2. 在“端口”选项卡下,您将看到所有端口。只保留 EMPNO、ENAME、JOB、MGR 端口,删除其他端口

Source Qualifier Transformation

步骤 5) 删除端口后,点击“确定”按钮

Source Qualifier Transformation

现在,再次点击“编辑转换”窗口中的“属性”选项卡,您将只看到您选择的数据。

Source Qualifier Transformation

当您点击“确定”按钮时,它将打开SQL 编辑器窗口。

  1. 它将确认您选择的数据是正确的,并已准备好加载到目标表中
  2. 点击“确定”按钮继续处理

Source Qualifier Transformation

保存映射(使用 Ctrl+S 快捷键)并执行工作流,执行后只有选定的列将被加载到目标表中。

这样,您就可以在 Source Qualifier 中覆盖需要从源中获取的列,并且这是覆盖特定列进入映射的唯一方法。

Source Qualifier 的属性

您可以使用 Source Qualifier 的各种属性来确定需要将哪种类型的源数据转换为目标表。

  1. 源过滤器 – 使用源过滤器属性,您可以过滤源记录的数量。例如,您只想获取部门编号为 10 的员工,那么您可以在源过滤器属性中输入 filter condition deptno=10 并执行数据。
  2. 排序端口数 – 在 Source Qualifier Transformation 中,您还可以根据端口号对输入记录进行排序。因此,当数据传递到映射内的转换时,它将读取端口号并相应地对数据进行排序。

    由于数据可以根据单个或多个端口进行排序,因此您必须提供用于排序的端口数。如果提供值 1,则只有 empno 数据将被排序。如果您提供值 2,则 empno 和 ename 这两个列的数据都将被排序。

  3. 选择不重复 – 您可以使用此属性从源中获取不重复的记录。当您选择“选择不重复”选项时,Source Qualifier 将只获取源数据的唯一组合。

Source Qualifier Transformation