将两个聚合器表达式的结果合并到一个平面文件中
Combine results of two aggregator expressions in one flat file
我是 infortmatica powercenter 的新手,我有两个表 tableA 和 tableB 我想要实现的是在一个平面文件中的一行中获取两个表中的记录数,如下所示
A_cnt,B_cnt
107,224
我已经应用了以下映射
SQ(tableA) => 聚合器(tableA) => 联盟(A/B) => 目标
SQ(tableB) => Aggregaor(tableB) => Union(A/B) => target
它给出了结果,但在单独的行中。如何在单行中实现。
您必须使用 Joiner 转换而不是联合。要使用连接器,您必须先创建虚拟连接端口。在聚合器之后,使用表达式转换创建一个硬编码值“1”的虚拟输出列。您必须为 A 和 B 创建两个这样的表达式。
现在将它们连接到 Joiner。在条件中使用虚拟端口。
SQ(tableA) --> Agg(A) --> Exp(A)
\
--> Joiner(A/B)--> Target
/
SQ(tableB) --> Agg(B) --> Exp(B)
我是 infortmatica powercenter 的新手,我有两个表 tableA 和 tableB 我想要实现的是在一个平面文件中的一行中获取两个表中的记录数,如下所示
A_cnt,B_cnt
107,224
我已经应用了以下映射
SQ(tableA) => 聚合器(tableA) => 联盟(A/B) => 目标
SQ(tableB) => Aggregaor(tableB) => Union(A/B) => target
它给出了结果,但在单独的行中。如何在单行中实现。
您必须使用 Joiner 转换而不是联合。要使用连接器,您必须先创建虚拟连接端口。在聚合器之后,使用表达式转换创建一个硬编码值“1”的虚拟输出列。您必须为 A 和 B 创建两个这样的表达式。
现在将它们连接到 Joiner。在条件中使用虚拟端口。
SQ(tableA) --> Agg(A) --> Exp(A)
\
--> Joiner(A/B)--> Target
/
SQ(tableB) --> Agg(B) --> Exp(B)