Pentaho - формат данных - PullRequest
       116

Pentaho - формат данных

0 голосов
/ 25 февраля 2020

У меня два вопроса о чайнике Pentaho, и мне нужна помощь, пожалуйста! Итак, у меня есть файл CSV с некоторыми данными. В одном столбце у файла есть несколько дат (в годах). Первая проблема заключается в том, что в некоторых столбцах в этом столбце указано «Нет», а в других строках дата указана в правильном формате. Это изображение должно помочь «увидеть» проблему:

Проблема первая

Чтобы решить эту проблему, я изменил тип данных во входном файле и в базе данных на String , Это работает, но я думаю, что это не правильный способ сделать. Я также попытался использовать шаг «Filter Rows», но не сработало. Помогите, пожалуйста? :)

Вторая проблема связана с нулевым значением в поле даты. База данных ожидает получения значения даты, но некоторые из этих значений являются нулевыми. Еще раз, это изображение должно помочь «увидеть» проблему:

Проблема Два

Что я могу сделать, чтобы решить обе проблемы? Как правильно не только решить проблему, но и обеспечить хорошую производительность для запроса данных позже?

Большое спасибо!

С уважением!

Ответы [ 3 ]

2 голосов
/ 26 февраля 2020

для первого запроса используйте шаг ввода в качестве строки, которая подходит для этого; выберите значение шаг использования может изменить формат строки на дату. для второго шага используйте фильтр строк step и разделите строки, у которых есть none , после этого замените none на null и укажите ссылку на следующий шаг.

0 голосов
/ 02 марта 2020

В качестве альтернативы для обоих случаев вы можете попробовать использовать " Value Mapper " из None для того, что может принять ваша база данных.

0 голосов
/ 26 февраля 2020

Для значения "None" String в столбце Year вы можете сначала прочитать этот столбец как String, затем вы можете использовать шаг с именем "Null if" и дать «Нет» в качестве значения, чтобы превратить в NULL. Позже вы можете сделать этот столбец Year в виде типа Integer в Select Values.

Для второй проблемы, так как вы работаете с таблицей, вы ожидаете ненулевое значение для столбца даты, вы можете либо изменить ненулевое значение ограничение обнуляемым. Или, если вам нужно значение по умолчанию для таких нулевых значений, вы можете использовать шаг «Если значение поля равно нулю» , и вы можете указать значение по умолчанию там. Если вы хотите использовать ненулевое значение даты из предыдущих предыдущих строк, вы можете установить Повтор на Y на вкладке Поля шага Ввод текстового файла

...