Должен признаться, у меня больше нет доступа ни к DataStage, ни к коду, который у меня когда-то был.
Это для распространения переменных этапа на уровне работы.
Однако рутинная деятельность для выполнения вашей задачи будет следующей.
- Распространить SQL как переменную
- Используйте DSExecute для выполнения функции командной строки (для вызова SQLPlus, nzsql или любой другой вашей командной строки) и передачи через переменную SQL.
- Вернуть результаты в другую переменную
- С помощью этой переменной вы можете разделить содержимое сначала по строке, а затем по разделителю, используя оператор цикла / for.
- Используйте DSSetParam для сопоставления пар ключ-значение с вашими параметрами конкретного задания с помощью функции DSAttachJob или просто распространяйте их как выходные данные рутинной операции.
Справочник по языку BASIC
DSSetParam
Помните, что обработка ошибок и комментарии важны в подпрограммах BASIC, в противном случае
Впоследствии это предназначено для распространения переменных этапа внутри преобразователя и является очень мощным инструментом после освоения.
Вот документация и примеры для определения переменных этапа в модели Transformer и агрегирования выходных данных. Обратите внимание, порядок переменных этапа чрезвычайно важен.
Петли преобразования
В преобразователе вы можете определить входящие столбцы как переменные этапа, использовать эти переменные этапа для агрегирования, конкатенации (строк), разделения, вычитания... в основном вы можете сделать нелепое количество, как только вы поймете это.
Я бы посоветовал сначала просмотреть примеры трансформеров, так как подозреваю, что это может быть то, что вы ищете.
Помните, что это не обязательно должно быть выполнено за один этап Трансформатора, вы можете выполнить первоначальную очистку на первом трансформаторе, а затем выполнить сложный цикл на втором, разбивая шаги на то, что вам подходит.
person
Dan Griffiths
schedule
10.03.2017