2014-09-12 2 views
1

Я работаю над преобразованием, которое получает данные из таблицы базы данных. После шага ввода таблицы я хотел бы переименовать поле первичного ключа в «primaryKey». Единственный способ получить имя поля первичного ключа - через параметр $ {primaryKeyName}. Как переименовать поле, сохраненное в параметре $ {primaryKeyName}, в primaryKey?Переименовать поле с помощью параметра в чайнике

Я пробовал шаг «Выбрать значение», но использовал бы значение $ {primaryKeyName} буквально вместо того, чтобы получать значение $ {primaryKeyName}.

+0

Я думаю, что это может сработать, если вы переименовали поле уже во входном шаге. Не могли бы вы включить скриншот своей работы? –

ответ

1

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

вариант а) не написать свой собственный Заданный пользователем класса Java, принеси имя переменной, и переименовать поле непосредственно в Java;

вариант б) Инъекции Использование метаданных для управления преобразованием шаблона: используйте выберите значения шаг во внутренней/трансформации шаблона и имеют внешнее преобразование получить значение переменной и использовать его, чтобы ввести метаданные в окне выбора значения шага

вариант c) кажется очевидным, но не можете ли вы использовать псевдоним в своем SQL-запросе?

+0

вариант a - это то, с чем я пошел. Я не уверен, как будет работать вариант b. Опция c не является опцией, потому что это запрос «select *». Я не уверен, как псевдоним в select *. Я знаю только имя первичного ключа во время выполнения. –

+0

Я представил себе столько о опции c. Что касается b, посмотрите видео здесь: http://wiki.pentaho.com/display/EAI/ETL+Metadata+Injection – nsousa

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