Вы можете сделать это с помощью петли. Но, не волнуйся, это не сложно сделать с Пентахо.
Прежде всего, вы будете использовать РАБОТУ, чтобы создать свой цикл:
START ->Transform_that_holds_parameters ->Transform_to_run_in_a_loop
Как вы можете догадаться, ваше преобразование, которое работает одинаково на каждом БД является последним в этом потоке. Но нам нужно установить два дополнительных флага на этом задании:
- Выполнение для каждой строки ввода?
- Скопировать предыдущий результат в параметры?
Тогда мы должны строить наши Transform_that_holds_parameters со следующей структурой:
Some_sort_of_input -> copy_rows_to_result
Здесь вам придется захватить все параметры соединения от где-то, будь то файл Excel или таблицу в другой базе данных. Но как только вы будете граблировать эти данные, обязательно укажите 1 строку для каждой базы данных, в которой вы хотите запустить преобразование.
Подключитесь к шагу «Копировать строки в результат», этот шаг отправляет данные обратно в нашу Работу, и если вы помните, наше следующее преобразование устанавливается в «Выполнение для каждой строки ввода» и «Копировать предыдущий результат в параметры ».
Теперь, помните, какие имена столбцов переходят на последний шаг этого преобразования, вам понадобятся они на следующем шаге.
Возвращается к нашей работе и перейти к свойствам Transform_to_run_in_a_loop, открытых параметров и заполнить «параметр» столбца и «поток имя столбца» с колоннами, мы просто скопировали к результату.
Внутри вашего преобразования вам нужно будет установить одинаковые параметры с точно такими же именами. И используйте эти параметры в настройках соединения.
Выполнено, теперь у вас будет первое преобразование, задающее все параметры, а второе - для каждой конфигурации базы данных.
«но он принимает только строку в csv» - что это значит? Он может +100 строк (каждая строка содержит сведения о соединении с определенным БД). Задайте сведения о соединении в переменных и выполните субтрансформацию после. В каталогах есть пример $ KETTLE_HOME/пример использования субтрансформации – simar