2015-01-17 7 views
1

Как и на прилагаемом рисунке. Мне нужно перейти к шагу выполнения SQL, только если значение count из ввода таблицы равно <> 0.Else он переместится в манекен и не будет запускать процесс. Но он не работает, и таблица удаляется, что на самом деле . запрос написано на шаге SQL, а также инициализация манекена, а также (условие фильтра целого число, так как входная таблица значения счетов) ImageСтроки фильтра Шаг не работает и инициализирует оба условия

ответ

1

есть некоторые факторы, которые следуют позаботиться в случае вашего вопроса:

  1. Весь процесс в PDI инициализируется параллельно. Поэтому, если у вас есть шаги (например, ввод таблицы, вывод таблицы и т. Д.) в вашей трансформации. Когда вы выполняете ktr, все эти шаги инициализируются вместе.

  2. «Выполнение SQL-скрипта» в Pentaho Kettle запускается самостоятельно. Он выполняется на этапе инициализации преобразования. Проверьте это wiki.

Решение:

Проверьте изображение ниже:

enter image description here

1. Включить "Выполнить для каждой строки" на этапе SQL:

Идея состоит в том, чтобы остановить выполнение запроса во время инициализации p hase of ktr (Выполнение SQL-скрипта). Таким образом, отметив опцию «выполнить для каждой строки», убедитесь, что шаг SQL выполняется после того, как строка получена, а не во время самой инициализации.

Проверьте ниже изображения:

enter image description here

2. Использование "Прервать" шаг(только предложение)

Там нет ничего плохого с использованием фиктивного шага ', но я чувствую, что используется шаг «Отмена», который гарантирует, что текущее преобразование в исполнении прерывается после того, как «шаг фильтра» возвращает ложное условие.

3. В случае, если вам не нравится, вышеупомянутые два решения, единственный выход был бы создать решение на уровне работы с использованием «Простая оценкой» шага. Это решит вашу проблему.

Прилагается пример кода в here.

Надеется, что это помогает :)

+0

Спасибо так много @RIshu .... Это очень много сейчас ясно ........ –

+0

Добра пожаловать debayan – Rishu