Опции «Все» в Pentaho CDE в компоненте мультиселекции - PullRequest
0 голосов
/ 19 сентября 2018

все!Я пытаюсь решить мою проблему, но мне нужна помощь.Я использую Pentaho CDE, у меня есть несколько компонентов и таблица.Мне нужно преобразовать мои данные из нескольких селекторов в мою таблицу, как параметры.Я прочитал много тем по этому вопросу, но не нашел ответа.Я вижу Как добавить параметр «Выбрать все» для выбора компонента в CDE и Pentaho CDE «Все» в компоненте «Выбор» У меня есть этот код:

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 голосов
/ 21 сентября 2018

Компонент множественного выбора предоставляет значения в виде массива.Нам нужно конвертировать его в значение с кавычками.мы можем написать это в событии после изменения компонента.Ниже приведен пример кода, который вы можете использовать.

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

Надеюсь, это поможет ...

...