Как передать массив для сопоставления с образцом столбца в отображении производного столбца потока из файла CSV через конвейер? - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть поток данных сопоставления с производным столбцом, где я хочу использовать шаблон столбца для сопоставления с массивом столбцов, используя in ()

enter image description here

Поток данных выполняется в конвейере, где я устанавливаю параметр $ owColList_md5 на основе переменной, которую я заполнил из однострочного CSV-файла, содержащего строку через запятую

enter image description here

Если у меня есть имя одного столбца в CSV-файле / переменная, заключенная в одинарные кавычки, и установлен флажок «Выражение», это работает. Проблема в том, чтобы заставить его работать с несколькими столбцами. Кажется, есть проблемы с синтаксическим анализом, когда в переменной есть несколько элементов, каждый из которых заключен в одинарные кавычки или, возможно, запятая разделяет их. Это часто приводит к ошибкам при выполнении потока данных с сообщениями типа «хранилище не определено» и т.д. "(2x одинарные и двойные кавычки) в файле CSV. Я также попытался получить файл без кавычек, безуспешно пытаясь заменить запятую на экранированные кавычки (используя) в производном шаблоне столбца.

Как заполнить этот массив в производном столбце на основе параметр потока данных, основанный на разделенной запятыми строке в файле / переменной CSV из конвейера с рабочими именами столбцов?

1 Ответ

1 голос
/ 16 апреля 2020

Хотя типы массивов не поддерживаются в качестве параметров потока данных, передача строки через запятую может работать, если вы используете функцию instr() для сопоставления.

Допустим, у вас есть два столбца, col1 и col2. Передайте параметр со значением «col1», «col2».

enter image description here

Затем используйте instr($<yourparamname>, '"' + name + '"') > 0, чтобы увидеть, существует ли имя столбца в строка, которую вы передаете. Примечание: вам не нужны двойные кавычки, но это может быть полезно, если у вас есть имена столбцов, которые являются подмножествами имен других столбцов, таких как id1 и id11.

enter image description here

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...