Как и на прилагаемом рисунке. Мне нужно перейти к шагу выполнения SQL, только если значение count из ввода таблицы равно <> 0.Else он переместится в манекен и не будет запускать процесс. Но он не работает, и таблица удаляется, что на самом деле . запрос написано на шаге SQL, а также инициализация манекена, а также (условие фильтра целого число, так как входная таблица значения счетов) Строки фильтра Шаг не работает и инициализирует оба условия
ответ
есть некоторые факторы, которые следуют позаботиться в случае вашего вопроса:
Весь процесс в PDI инициализируется параллельно. Поэтому, если у вас есть шаги (например, ввод таблицы, вывод таблицы и т. Д.) в вашей трансформации. Когда вы выполняете ktr, все эти шаги инициализируются вместе.
«Выполнение SQL-скрипта» в Pentaho Kettle запускается самостоятельно. Он выполняется на этапе инициализации преобразования. Проверьте это wiki.
Решение:
Проверьте изображение ниже:
1. Включить "Выполнить для каждой строки" на этапе SQL:
Идея состоит в том, чтобы остановить выполнение запроса во время инициализации p hase of ktr (Выполнение SQL-скрипта). Таким образом, отметив опцию «выполнить для каждой строки», убедитесь, что шаг SQL выполняется после того, как строка получена, а не во время самой инициализации.
Проверьте ниже изображения:
2. Использование "Прервать" шаг(только предложение)
Там нет ничего плохого с использованием фиктивного шага ', но я чувствую, что используется шаг «Отмена», который гарантирует, что текущее преобразование в исполнении прерывается после того, как «шаг фильтра» возвращает ложное условие.
3. В случае, если вам не нравится, вышеупомянутые два решения, единственный выход был бы создать решение на уровне работы с использованием «Простая оценкой» шага. Это решит вашу проблему.
Прилагается пример кода в here.
Надеется, что это помогает :)
Спасибо так много @RIshu .... Это очень много сейчас ясно ........ –
Добра пожаловать debayan – Rishu