我正在创建一个信息工作流工作流,它可以从两个DB2数据库表中提取数据并加载到临时表中。假设两个源表名称是Account(父)和Activities(Child)。他们有1:M的关系。表示帐户可以有许多活动(Account.PK = Activities.FK)。活动表有两列 - 第一个'类型',其值可以是'付费','将付费'或'未付费'。第二列是'Created_Date'datetime数据类型,每当您创建新的活动记录,日期和时间会得到这个领域的印记。现在,在临时表中加载数据的条件是 - “对于帐户记录,它将在活动表中首先检查今天的付费活动(类型=付费)。如果它找到多个付费活动,那么它将选择最新创建的其中一个(Created_Date列)。如果帐户没有付费活动记录,那么它将选择最新创建的“Will-Pay”活动。“意味着,它应该为今天(Sysdate)选择一个账户的最新付费活动,如果它不存在那么它将选择今天的最新Will-pay活动。请帮助我理解如何在Informatica工作流程中实现此逻辑以及我应该使用哪些转换以及如何使用?非常感谢。请帮助。
答案 0 :(得分:0)
在SQL上实现它的最佳方法是在ETL上实现业务逻辑并不好。但如果你坚持认为它可以通过多种方式创建。例如:
使用SQL覆盖 您可以为活动表创建3个查找转换,并使用覆盖的SQL(以及列)和条件的一个表达式转换。
如果没有SQL覆盖,则需要使用filter,aggregator,joiner转换重新创建类似的逻辑。