我有两个不同元数据或数据结构的流,一个组定义表,按用户名,语言,性别指示用户组,用户年龄范围由2个字段描述,“age_start”,“age_end “(所有这些组指标可以在某天后更改,甚至添加新的colnum以指示不同的用户组,因此我需要能够动态地实现工作流程),
第二个表是用户信息表,如下所示
如何使用pentaho查找特定的user_id属于哪个组(按性别,语言,年龄范围)
javascript可以将两个异构数据流作为输入来计算结果,或者我们还有其他更聪明,更直接的方式来做类似的工作
谢谢大家
答案 0 :(得分:1)
您可以使用Join Rows(笛卡尔积)来满足您的要求。设置"年龄< = age_end和年龄> = age_start"作为条件。
答案 1 :(得分:0)
相反,您可以使用javascript步骤将年龄映射到年龄组,例如:
如果(年龄> = 0且年龄<= 17 ......等),则age_group = AGE_GROUP_ID
您可以指定id执行年龄组(无法查看是否已存在ID),然后使用流查找步骤来获取数据。 Javascript步骤不接受多个输入流。在你的情况下,最好使用2个单独的步骤来实现你想要做的事情。
当然,这只是一种方式,请记住,根据您处理的数据量,javascript步骤可能会非常慢。但同样,我不知道这一点。
答案 2 :(得分:0)
为什么要使用javascript?由于数据已经在表中,为什么不使用数据库连接步骤?
另一种选择是使用表输入读取两个表并加入流。然后你可以使用流查找。这将缓存所有数据,从而导致非常快速的查找。