2

如何使用 Informatica 排除两个平面文件中的匹配行?

我有一个平面文件(源),其中的数据看起来像这样(通常更多数据):

1,2,3
4,5,6

第二个平面文件(源)如下所示:

1,2,3

我希望结果(目标)是一个看起来像这样的平面文件:

4,5,6

我知道在 SQL 中有一个 EXCLUDE(与 INTERSECT 相反)可以完成这项工作。但我是用平面文件和 Informatica 来做这一切的。

我对 Informatica 很陌生。我只做了大约一个月。所以可能比较明显。如果你能告诉我你会使用什么转换,那就太好了。

4

2 回答 2

2

您可以使用联合转换来联合来自两个文件的结果集。这将为您提供以下结果集。

col1, col2, col3
-----------------
1,2,3
4,5,6
1,2,3

在此之后,我将使用聚合器转换并选择这些端口(以及您想要分组以将它们视为重复的端口)并在聚合器转换中获取计数。

After Aggregator (new column count => total_count)
----------------------------------------------------
col1, col2, col3,total_count
-----------------------------
1,2,3,2
4,5,6,1

下一步很简单,将它们通过过滤器转换并使用以下过滤器条件忽略具有重复项的行。

总计数 = 1

于 2011-03-08T21:53:36.077 回答
1

将第一个文件作为源包含在内,并使用基于可能匹配的端口的查找转换来查找第二个文件。然后,您可以使用过滤器从查找缓存中删除被回击的记录。

此方法不需要任何聚合,因此它可能会执行得更好。

于 2011-04-04T10:56:40.780 回答