Хотите преобразовать тип данных String в тип данных Date в pentaho

У меня есть строка с датой в этом формате: n_date=2014-04-20

Я хочу преобразовать его в тип данных даты

var Final_date = str2date(n_date,"yyyy-MM-dd");

но я получаю сообщение об ошибке.

Я делаю это в pentaho


person Mudi    schedule 28.04.2015    source источник
comment
Пожалуйста, опубликуйте вашу ошибку.   -  person Bram    schedule 28.04.2015
comment
Pentaho находится на Java, поэтому я должен спросить - Java или JavaScript?   -  person jdphenix    schedule 28.04.2015
comment
Не удалось применить данный формат yyyy-MM-dd к строке для тестового значения: Ошибка Format.parseObject (String) (сценарий № 18)   -  person Mudi    schedule 28.04.2015
comment
- jdphenix Javascript   -  person Mudi    schedule 28.04.2015
comment
Я получил эту строку n_date из предыдущего шага ввода базы данных в pentaho. Я хочу преобразовать ее в дату с ее фактическим форматом, а затем сохраняю ее в Postgres db.   -  person Mudi    schedule 28.04.2015
comment
Простой `var Final_date = new Date (2015-12-12) вам не подходит?   -  person Alexis Paques    schedule 28.04.2015
comment
Нет, Bcz, когда я использую new Date (), он не выдает мне ошибки. но когда я проверяю свой формат даты в postgress, это неверно.   -  person Mudi    schedule 28.04.2015
comment
у вас есть вопрос об интеграции данных Pentaho (чайник)? На каком этапе вы пытаетесь преобразовать String в Date? Это Modified JavaScript Value шаг?   -  person mzy    schedule 28.04.2015
comment
Да, это на этапе интеграции данных Pentaho и измененного значения JavaScript. На самом деле я получил дату с предыдущего шага   -  person Mudi    schedule 28.04.2015


Ответы (1)


Для этого вам не нужен шаг сценария Java. Гораздо проще и быстрее использовать вместо этого шаг калькулятора или шаг выбора значений:

1) Шаг калькулятора: создайте новое поле Final_date как копию поля A; в Поле A поместите имя вашей входной строки; Тип данных - дата, и в маске преобразования выберите формат гггг-мм-дд (вам не нужно выбирать его из раскрывающегося меню, вы можете написать свой собственный);

2) Выберите значения: на панели «Метаданные» выберите поле ввода и дату в качестве типа данных; как указано выше, укажите формат даты, в котором поступают ваши данные.

Разница между 1) и 2) заключается в том, что в 1-м случае вы получаете новое поле типа «Дата», а во 2-м случае вы меняете тип данных поля ввода.

person nsousa    schedule 28.04.2015
comment
Спасибо nsousa.Я попробую с этим шагом. - person Mudi; 29.04.2015
comment
У меня есть таблица, содержащая строковые поля, я хочу преобразовать их в числа. но мой окончательный результат неверен после применения функции. var n_avg_cpc = parseFloat (обрезать (avg_cpc)); если (avg_cpc ›0) {var n_avg_cpc = parseFloat (trim (avg_cpc)) / 1000000; } - person Mudi; 18.05.2015
comment
это должен быть отдельный вопрос, а не комментарий в этом. - person nsousa; 18.05.2015
comment
Я знаю это комментарий. Причина, по которой я спрашиваю об этом, находится здесь, когда я добавляю этот текст в окно с вопросом. я потерпел неудачу. несмотря на все мои попытки, это дает мне ошибку. - person Mudi; 20.05.2015