如何在Informatica Powercenter(9.1)中组合2个数据库源中的2列

时间:2016-06-01 19:16:47

标签: informatica-powercenter

我正在使用Informatica PowerCenter 9.1并尝试合并来自2个来源的2列。基本上尝试创建一个报告,显示所有用户及其在2个独立数据库中的角色。它们可能在一个数据库而不是另一个数据库中,因此我也必须考虑到这一点。

所以,如果我有这个输出: 数据库1(Oracle)

用户1 =角色A

用户2 =角色B

数据库2(Sybase)

用户1 =角色C

用户3 =角色D

我希望输出看起来像这样:

用户1 =角色A ---角色C

用户2 =角色B --- N / A

用户3 = N / A ---角色D

任何帮助解决这个问题都将非常感激。

2 个答案:

答案 0 :(得分:0)

您可以通过我们的木匠转换将它们链接在一起,然后使用表达式连接。

  1. 使用2个单独的源限定符转换从数据库中读取并使用joiner连接它们。 加入条件是user_id。加入类型应该是完全外连接。完全连接将在任一表中获取所有数据(匹配和不匹配)。
  2. 然后拾取user_id,role1(Oracle)和角色2(Sybase)并将它们与IFNULL逻辑连接起来,如下所示 - IIF(ISNULL(角色1),' N / A',角色1)|| IIF(ISNULL(角色2),' N / A',角色2)

答案 1 :(得分:-1)

要将两个不同表中的两列连接到目标上的单个列,将无法在Informatica中使用。您只能在一个表中组合列。但是有一个解决方法,它使用“Post SQL”查询,在这里你可以编写一个数据库JOIN查询。