多选组件中的Pentaho CDE“所有”选项

时间:2018-09-19 15:37:05

标签: sql db2 components pentaho pentaho-cde

全部!我试图解决我的问题,但我需要帮助。 我使用Pentaho CDE,我有一些选择组件和表格。我需要像参数一样将数据从多个选择器传输到表。 我阅读了许多有关此问题的主题,但尚未找到答案。 我知道了 How to add a select all option to select component in CDEPentaho CDE "All" option in "Select" component 我有以下代码:

where (a.Group in (${group_par}) and a.Event_type in (${event_type_par}))  or (a.Group like (case when ${group_par} = 'ALL' then '%' ELSE ${group_par} end))

当我选择“全选”时选项正常工作,当我选择一个参数时选项正常工作,但是当我选择多个参数时,查询不起作用。

1 个答案:

答案 0 :(得分:0)

多选组件将值作为数组提供。我们需要将其转换为带引号的值。我们可以将其写在组件的post change事件中。下面是您可以使用的示例代码。

if(group_par.length >= 1 ){
    for(i=0;i<group_par.length;i++){
        if(i==0){
            testString ="";            
        }
        else{
            testString =testString + "',";
        }
        testString =testString + "'" + group_par[i]
        if(i==group_par.length-1)
        {
                testString =testString + "'";
        }
    }

现在,新变量将是 teststring ,而不是 group_par

我希望这个帮助...