Infomatica行数

时间:2016-04-12 18:51:39

标签: informatica informatica-powercenter

我是Informatica的新手,我很困惑。

我有平面文件中的数据,需要对其进行一些转换。我只需要了解如何实际操作。

说我的数据看起来像这样:

COL1,CO12,CO13,COL4

A B C D

A B B B

G G G G

B D D X

F F F F

B B A D

1)我只需要传输第一列为A或B的行

2)我需要A行的计数,我需要一个单独的计数B

3)我需要比较A的计数和B的计数。如果计数不匹配,那么我需要发送一封电子邮件。

有人可以给我一些有用的链接,或者告诉我我应该使用的转换/逻辑类型吗?感谢

1 个答案:

答案 0 :(得分:0)

有多种方法。这是一个简单的步骤。

  1. 使用Source Qualifier上的过滤器获取您需要的数据。
  2. 使用Router Transformation分为两个管道,其中两个组定义为COL1='A'COL1='B'
  3. 使用Aggregate Transformation获取计数(针对每个管道)。
  4. 使用Expression Transformaiton添加虚拟端口,例如joinPort = 1(对于每个管道)。
  5. 使用Joiner Transformation
  6. 加入虚拟端口上的piplelines
  7. 使用Expression Transformation比较结果。
  8. 向电子邮件发送单独的故事。

    1. 使用工作流程变量,例如wfSendEmail初始化为0并且映射变量例如是0 mSendEmail
    2. 在会话Components tab上执行Pre-session variable assignment并将wfSendEmail分配给mSendEmail。
    3. 在上面第6页中提到的排版转换中,如果计数不匹配,请使用SETVARIABLE函数将mSendEmail设置为1
    4. 在会话Components tab上执行Post-session variable assignment并将mSendEmail值分配给wfSendEmail。
    5. 在会话的链接上添加Email task条件wfSendEmail=1