【问题标题】:How to combine 2 columns from 2 database sources in Informatica Powercenter (9.1)如何在 Informatica Powercenter (9.1) 中合并来自 2 个数据库源的 2 列
【发布时间】:2016-06-01 19:16:46
【问题描述】:

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

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

用户 1 = 角色 A

用户 2 = 角色 B

数据库 2 (Sybase)

用户 1 = 角色 C

用户 3 = 角色 D

我希望输出如下所示:

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

用户 2 = 角色 B --- 不适用

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

任何帮助解决这个问题将不胜感激。

【问题讨论】:

  • 对不起,在我发布这个之后,我想出了一个解决方案。我所做的与下面 Koushik 的回复类似。

标签: informatica-powercenter


【解决方案1】:

您可以使用joiner转换将它们连接在一起,然后使用表达式连接。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      • 1970-01-01
      相关资源
      最近更新 更多