2016-08-28 5 views
0

У меня есть случай заявление как нижесаз с использованием различных столбцов в Talend

случая, когда COL1 как «% других%», затем «Нет» еще col5 конца как col5

Здесь, как и в SQL мне нужно выполнить утверждение case с разными столбцами и проверить дикую карту слова «другое» все в таланте, как это можно сделать?

+0

Являются ли столбцы всегда динамическими? Знаете ли вы слова, которые нужно искать? – tobi6

+0

Столбцы не динамические, я хочу искать слова типа «другие, пожалуйста, укажите», «другие не нужны», поэтому мне нужно искать другие – user6673748

ответ

0

Если столбцы не создаются динамически, вы можете добавить пример в tMap.

Таким образом, для нового булева столбца можно создать выражение:

row1.mycolumn1.toLowerCase().contains("other") ? new Boolean.true : new Boolean.false; 

Булева поле будет содержать значение проверки, затем.

EDIT

Поскольку новый логический столбец не хотел здесь, ваше конкретное требование будет выглядеть следующим образом:

row1.product_code.toLowerCase().contains("other") ? "No data" : row1.product_code; 
+0

Привет Тоби, это не булевский столбец, где я должен выводить свои данные.Я объясню, если product_category имеет слово «другое» в своем тексте, тогда product_code должен быть установлен в «Нет данных» – user6673748

+0

Yippiee .. это сработало спасибо! : D – user6673748

1

Ваш вопрос непонятен, без скриншотов или объяснений. Я предполагаю, что у вас есть какой-то компонент ввода, например tOracleInput с строкой из него, имеющий несколько столбцов в схеме. Я бы предложил использовать компонент tMap для управления содержимым схемы, особенно Expression Builder.

P.S. Я лично предпочитаю tJavaFlex для проверки/манипуляции столбцов, таким образом, код более читабельный, но это более совершенная техника.

+0

. Мой источник tfileinputdelimited, а destination - tfileoutputdelimited. Мне нужно будет выполнить проверку столбца product_category, если у него есть слова «другое», а затем в product_code установленное значение как «Нет данных» – user6673748

0

Пожалуйста, найдите вход следующим образом.
col1 col2 col3 COL4 col5
---- ---- ---- ---- ----
aaaother ааа ааа ааа ааа
otherbbb BBB BBB BBB BBB
ссс ссс ссс ссс ссс

в TMAP вы должны иметь следующее утверждение в выражении строитель против col5

input.col1.contains("other")?"No":input.col5

, то выход будет, как не следует

col1 col2 col3 COL4 col5
---- ---- ---- ---- ----
aaaother ааа ааа ааа Нет
otherbbb bbb bbb bbb Нет
ccc ccc ccc ccc ccc

+0

Yippiee .. это сработало спасибо !! : D – user6673748

Смежные вопросы