INFORMATICA 转换教程与筛选器转换

什么是转换?

Informatica 中的转换是用于创建、修改或将数据传递到已定义目标结构(表、文件或任何其他目标)的对象。

Informatica 中转换的目的是根据目标系统的要求修改源数据。它还确保加载到目标的数据的质量。

Informatica 提供了各种转换来执行特定功能。

例如,根据源数据执行税务计算、数据清理操作等。在转换中,我们连接端口将数据传递给它,转换会通过输出端口返回输出。

转换的分类

转换分为两类,一类基于连接性,另一类基于行数的更改。首先,我们来看基于连接性的转换。

基于连接性的转换类型

  • 已连接的转换
  • 未连接的转换

在 Informatica 的映射中,与其他转换连接的转换称为已连接的转换。

例如,来自源表的 Source qualifier transformation 连接到 Filter Transformation,以过滤特定部门的员工。

未连接到任何其他转换的转换称为未连接的转换。

它们的功能是通过在 Expression Transformation 等其他转换中调用它们来使用的。这些转换不属于管道。

当每次输入行都需要调用转换或期望它返回一个值时,首选已连接的转换。例如,对于每一行的邮政编码,转换将返回城市名称。

当仅需要周期性地或基于某些条件使用其功能时,未连接的转换很有用。例如,如果税金值不可用,则计算税金详细信息。

Classification of Transformation

基于行数变化的转换类型

  • 活动转换
  • 被动转换

活动转换是指修改数据行及其输入行数量的转换。例如,如果一个转换接收十行作为输入,并返回十五行作为输出,那么它就是一个活动转换。在活动转换中,行中的数据也会被修改。

被动转换是指不改变输入行数量的转换。在被动转换中,输入行和输出行数量保持不变,只在行级别修改数据。

在被动转换中,不会创建新行,也不会删除现有行。

以下是 Informatica 中转换的列表

什么是 Filter Transformation?

Filter Transformation 是一个活动转换,因为它改变了记录的数量。

使用 Filter Transformation,我们可以根据过滤条件过滤记录。Filter Transformation 是一个活动转换,因为它改变了记录的数量。

例如,如果只想加载部门编号等于 10 的员工记录,我们可以在映射中放置一个 Filter Transformation,过滤条件为 deptno=10。这样,只有部门编号为 10 的记录才能通过 Filter Transformation,其余记录将被丢弃。

如何使用 filter transformation -

步骤 1) 创建一个具有源 “EMP” 和目标 “EMP_TARGET” 的映射

Filter Transformation

步骤 2) 然后在映射中

  1. 选择 Transformation 菜单
  2. 选择创建选项。

Filter Transformation

步骤 3) 然后在 create transformation 窗口中

  1. 从列表中选择 Filter Transformation
  2. 输入转换名称 “fltr_deptno_10”
  3. 选择创建选项。

Filter Transformation

步骤 4) 将创建 Filter Transformation,在 create transformation 窗口中选择 “Done” 按钮

Filter Transformation

步骤 5)在映射中

  1. 将所有 Source qualifier 列拖放到 Filter Transformation
  2. 将 Filter Transformation 中的列链接到目标表

Filter Transformation

步骤 6) 双击 Filter Transformation 打开其属性,然后

  1. 选择 Properties 菜单
  2. 点击 Filter condition 编辑器

Filter Transformation

步骤 7) 然后在 filter condition 表达式编辑器中

  1. 输入过滤条件 – deptno=10
  2. 选择“确定”按钮

Filter Transformation

步骤 8) 现在再次在 Properties 选项卡中的 edit transformation 窗口中,您将看到 filter condition,选择 OK 按钮

Filter Transformation

现在保存映射,并在创建 session 和 workflow 后执行它。在目标表中,将仅加载部门编号为 10 的记录。

这样,您就可以使用 Filter Transformation 过滤源记录了。