Informatica 行计数
Infomatica Row Count
我是 Informatica 的新手,我很困惑。
我有来自平面文件的数据,需要对其进行一些转换。我只需要大致了解如何实际操作。
假设我有这样的数据:
COL1、COl2、COl3、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 的计数。如果计数不匹配,那么我需要发送电子邮件。
有人可以给我 link 一些有用的东西,或者告诉我应该使用哪种类型的转换/逻辑吗?谢谢
有多种方法。这是一个简单的步骤。
- 在
Source Qualifier
上使用过滤器以仅获取您需要的数据。
- 使用
Router Transformation
分成两个管道,其中两组定义为 COL1='A'
和 COL1='B'
- 使用
Aggregate Transformation
获取计数(对于每个管道)。
- 使用
Expression Transformaiton
添加虚拟端口,例如joinPort = 1
(对于每个管道)。
- 使用
Joiner Transformation
在虚拟端口上加入流水线
- 使用
Expression Transformation
比较结果。
发送电子邮件一个单独的故事。
- 使用工作流变量,例如wfSendEmail 初始化为 0 和一个映射变量,例如mSendEmail
- 在会话
Components tab
上执行 Pre-session variable assignment
并将 wfSendEmail 分配给 mSendEmail。
- 在上面第 6 页提到的表达式转换中,如果计数不匹配,请使用
SETVARIABLE
函数将 mSendEmail 设置为 1
。
- 在会话
Components tab
上执行 Post-session variable assignment
并将 mSendEmail 值分配给 wfSendEmail。
- 在会话的 link 上添加
Email task
条件 wfSendEmail=1
。
我是 Informatica 的新手,我很困惑。
我有来自平面文件的数据,需要对其进行一些转换。我只需要大致了解如何实际操作。
假设我有这样的数据:
COL1、COl2、COl3、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 的计数。如果计数不匹配,那么我需要发送电子邮件。
有人可以给我 link 一些有用的东西,或者告诉我应该使用哪种类型的转换/逻辑吗?谢谢
有多种方法。这是一个简单的步骤。
- 在
Source Qualifier
上使用过滤器以仅获取您需要的数据。 - 使用
Router Transformation
分成两个管道,其中两组定义为COL1='A'
和COL1='B'
- 使用
Aggregate Transformation
获取计数(对于每个管道)。 - 使用
Expression Transformaiton
添加虚拟端口,例如joinPort = 1
(对于每个管道)。 - 使用
Joiner Transformation
在虚拟端口上加入流水线
- 使用
Expression Transformation
比较结果。
发送电子邮件一个单独的故事。
- 使用工作流变量,例如wfSendEmail 初始化为 0 和一个映射变量,例如mSendEmail
- 在会话
Components tab
上执行Pre-session variable assignment
并将 wfSendEmail 分配给 mSendEmail。 - 在上面第 6 页提到的表达式转换中,如果计数不匹配,请使用
SETVARIABLE
函数将 mSendEmail 设置为1
。 - 在会话
Components tab
上执行Post-session variable assignment
并将 mSendEmail 值分配给 wfSendEmail。 - 在会话的 link 上添加
Email task
条件wfSendEmail=1
。