Параметры «Все» Pentaho CDE в компоненте множественного выбора

все! Я пытаюсь решить свою проблему, но мне нужна помощь. Я использую 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))

Вариант, когда я выбираю «Выбрать все», работает правильно, вариант, когда я выбираю один параметр, работает правильно, но когда я выбираю более одного параметра, мой запрос не работает.

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
676
1

Ответы 1

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

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

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

Другие вопросы по теме