我是informatica软件的新手。现在我有两个表,比如AAA
和BBB
表。
AAA: last_post_date
BBB: Trx_No, Field1, Field2, trx_date
我想将BBB
表移动到目标表,其中trx_date必须大于last_post_date。我不能使用木匠转换,因为它没有>,< ,> =和< =运算符。如果我想使用查找转换,如何在这种情况下使用它或任何其他方式可以帮助我这样做。我搜索了许多关于查找转换的网站,但仍然不知道如何使用它。
请帮忙。
谢谢!
答案 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
(对于这两个转换)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)
- 这将确保您只执行一次查找。并不是说单一价值会对它产生很大影响,但我认为我会分享一些好的做法:)