问题描述
-
App.csv有一列称为Application
应用
App-AApp-B
-
Access.csv包含3列(应用程序,权利,用户ID)
Application,entitlement,userid App-A,ent-A,user1 App-A,ent-B,user1 App-B,ent-c,user2 App-B,ent-d,user1 App-C,user2 App-C,user1
-
我需要提取所有App-A和App-B详细信息,如果它们与Application file列匹配,并且输出如下所示
App-A,user1 App-A,user1
-
我尝试使用流查找,但是每个App只给一行,而不是所有行都属于App-A和App-B
感谢您的帮助
解决方法
我已经为您准备了一个解决方案Here
我使用user-define-java-class比较该值。
- RunTrans.ktr:我从这里获取app.csv输入,并在一行中制作数据。
- ForOnlyLoop.kjb:这只是用于将数据传递到下一个转换。
- CopmareAndResult.ktr:我从此处获取access.csv输入并比较结果,如果值匹配,则返回行,否则不返回任何内容。
请让我知道是否可以。
另一种解决方案:- 您可以使用Here
中的ETL元数据注入步骤来获得相同的解决方案- MetaData.ktr:-获取App.csv输入并传递值以比较ktr。
- Compare.ktr:输入access.csv并将值与“ switch / case”步骤进行比较。我已经从MataData.ktr步骤中提供了开关案例比较值。