2016-09-19 2 views
1

Я только что начал изучать шаги пентахо-ложки и имею одну проблему с решением одной проблемы. Мне нужно преобразовать данные из xls-файла и преобразовать его в базу данных. Проблема заключается в том, что мой входной файл выглядит следующим образом: table-descriptionКак я могу использовать дополнительное условие, получая данные из ввода xls-файла в ложе Pentaho?

И я не могу найти, как решить две проблемы:

  1. Для моего следующего шага мне нужно сохранить не только сам стол (диапазон A8 : D11), но также и дату (ячейка A5). Когда я пытаюсь сделать это в pentaho с помощью Microsoft Excel Input-Step, он работает только тогда, когда я выбираю A8-ячейку в качестве начальной строки, но дата не сохраняется.

  2. В Microsoft Excel Input - Step Я должен всегда выбирать стартовую строку для создания таблицы и использовать ее в следующих шагах. И я должен сделать это вручную, я хочу сказать, что моя таблица начинается с A8-ячейки. В моем случае я не всегда могу точно сказать, что таблица начинается с A8-ячейки. Я знаю, что начальная ячейка - это ячейка, которая находится в A-столбце и имеет значение = «Дата». Microsoft Excel Input - шаг будет первым шагом в моем чайнике, потому что я должен получить данные и изменить их. Вот почему я думаю, что не могу использовать Java Script.

Я не нашел решение этих двух проблем, и я не знаю, можно ли это сделать. Буду благодарен за любую помощь.

ответ

0

Я не уверен, что вы подразумеваете под преобразованием файла excel в базу данных, но если вы можете преобразовать xls в csv и прочитать этот файл, тогда вы знаете, из какой строки вам нужно отфильтровать данные. В основном вы можете использовать простой шаг фильтра для фильтрации данных, когда он соответствует имени столбца. Я надеюсь, это поможет.

0
  1. Используйте два ввода Microsoft Excel. Один шаг читает таблицу (A8: D11). На другом шаге считывается дата (A5). Затем объедините два потока, например, с помощью шага Join Rows (декартова продукта)

  2. Читать все. Затем используйте шаг Javascript с двумя вкладками сценария. Для одной из вкладок: щелкните правой кнопкой мыши и выберите «Установить стартовый скрипт». Код: var start = 0;. Другая вкладка должна храниться как сценарий преобразования. Псевдокод: if(FieldA equals "Date") {start = 1;}. Теперь у вас будет дополнительное поле в потоке с именем start. Если start равно 0, то вы знаете, что ваши табличные данные еще не начаты, и вы можете отфильтровать строку.

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