Informatica:比较两个表之间的日期字段

时间:2016-04-12 11:02:16

标签: informatica

我是informatica软件的新手。现在我有两个表,比如AAABBB表。

AAA: last_post_date

BBB: Trx_No, Field1, Field2, trx_date

我想将BBB表移动到目标表,其中trx_date必须大于last_post_date。我不能使用木匠转换,因为它没有>,< ,> =和< =运算符。如果我想使用查找转换,如何在这种情况下使用它或任何其他方式可以帮助我这样做。我搜索了许多关于查找转换的网站,但仍然不知道如何使用它。

请帮忙。

谢谢!

2 个答案:

答案 0 :(得分:0)

我假设AAA只有1行包含last_post_date。如果两个表都在同一个数据库中,则可以使用源限定符覆盖

select Trx_No, Field1, Field2, trx_date from BBB where trx_date > last_post_date

但是如果两个表都在不同的数据库中和/或您无法在它们之间创建数据库链接,那么请使用下面的解决方案。

  • 在两个来源的源限定符之后,使用Expression转换。
  • 在两个表达式转换中添加一个输出端口,比如说o_Dummy并将值硬编码为1(对于这两个转换)
  • 使用Joiner并使用normal join。加入条件为o_Dummy = o_Dummy1
  • 使用filer过滤记录trx_date > last_post_date
  • 的记录

这将是你的流程。

SQ_AAA -> Expression -> Joiner -> Filter -> Target
SQ_BBB -> Expression -^

答案 1 :(得分:0)

使用来源限定符从BBB读取数据,然后查找AAA和条件为trx_date>last_post_date的过滤器。

理想情况下,您使用从表达式变量端口引用的未连接查找,例如v_LastPostDate = IIF(ISNULL(v_LastPostDate), LKP.LoopkupToAAA, v_LastPostDate) - 这将确保您只执行一次查找。并不是说单一价值会对它产生很大影响,但我认为我会分享一些好的做法:)

相关问题