Как я могу заменить значение поля (полей) на основе другого поля (полей) в Pentaho

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

В моей базе данных у меня есть следующие поля (среди прочего): RMM, RMY, IRM, IRY.

Если IRM заполнен, мне нужно заменить значение в RMM.

Если IRY заполнен, мне нужно заменить значение в RMY.

Если IRM/IRY не заполнены, то RMM/RMY остаются как есть.

Я создал фильтр, который проверяет, являются ли IRM или IRY нулевыми, если это не так, у меня есть шаг установить значение поля, где я устанавливаю соответствующие значения. Затем я использую шаг append streams, чтобы объединить путь, где фильтр не работает.

Однако проблема с моим текущим решением заключается в том, что условие или в моем фильтре приводит к тому, что некоторые значения заменяются нулями, поскольку условию в фильтре требуется, чтобы только одна сторона была истинной.

Вот мое текущее решение:

трансформация

фильтр

Любая помощь будет оценена.


person J.A    schedule 06.12.2018    source источник


Ответы (1)


Вы можете отказаться от фильтра и шага и использовать простой шаг формулы, который, по одному для каждого столбца, обновляет значение RMM и RMY на основе значения IRM и IRY:

введите здесь описание изображения

Таким образом, вы работаете с обоими столбцами отдельно, проверяя нули и заменяя их при необходимости.

person Cristian Curti    schedule 06.12.2018