2015-01-09 4 views
3

Я пытаюсь создать последовательность символов, такую ​​как AAA, AAB, AAC, AAD, ...., BAA, BAB, BAC, .... и так далее в плоском файле с использованием Informatica. У меня есть формула для создания последовательности charater.Последовательность символов Informatica

Здесь мне нужно иметь порядковые номера, сгенерированные в информатике. Но у меня нет исходного файла или базы данных, чтобы иметь этот источник.

Есть ли какой-либо метод в Informatica для создания последовательности с использованием Generation Generation, когда нет исходных записей для чтения?

ответ

1

Невозможно создать строки без источника в сопоставлении.

Когда мне нужно сделать, что я использую один из следующих методов:

  • Создание файла с таким количеством строк, как мне нужно, с seq командой под Unix. Он также может использоваться как источник прямого конвейера без создания файла.
  • Получение строки из базы данных

Например Oracle может генерировать столько строк, сколько вы хотите с иерархическим запросом:

SELECT LEVEL just_a_column 
FROM dual 
CONNECT BY LEVEL <= 26*26*26 

DB2 может сделать это с помощью рекурсивного запроса:

WITH DUMMY(ID) AS (
    SELECT 1 FROM SYSIBM.SYSDUMMY1  
    UNION ALL 
    SELECT ID + 1 FROM DUMMY WHERE ID < 26*26*26 
) 
SELECT ID FROM DUMMY 
+0

Ваш ответ слишком информативен .. Но уровень в оракула не работает 15000000 .. Это последовательность я пытался создать ... Так или иначе хорошая информация ... Большое спасибо ... – TechVolcano

2

Это немного сложно, так как Informatica будет выполнять обработку строк за строкой, и ваше сопоставление не будет инициализироваться, пока вы не укажете исходные строки через вход (Файл или БД). Таким образом, для генерации последовательности n длины по Informatica trnasformations вам нужно ввести n строк. Другим решением для этого является использование Dummy Source (то есть Source с одной строкой), и вы можете передать параметры цикла из этого источника, а затем использовать Java transfornmation и Java-код для генерации этой последовательности.

+0

Спасибо за ваш вклад ... Я буду использовать преобразование Java – TechVolcano

0

У нас есть возможность создать порядковый номер, даже если он недоступен в источнике.

  1. Создать трансформацию генератора последовательности. Вы будете получать NEXTVAL и CURRVAL.

  2. На вкладке свойств у вас будет возможность создать порядковые номера.

    • значения Start - величина, с которой он должен начать
    • Инкримент - значение приращения
    • Конечное значение - значение, в котором он должен заканчиваться
    • Текущее значение - текущее значение
    • цикла - в случае, если вам требуется в циклическом
    • No.of кэшированных значений
    • Сброс
    • Уровень трассы
  3. Соедините NEXTVAL с целевой колонкой.

Смежные вопросы