PDI вычесть 1 мин из системной переменной даты - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь использовать PDI для вычитания 1 минуты или 60 секунд из системной даты по умолчанию (переменная). У меня есть эта команда, связанная с шагом калькулятора. Но либо выдает ошибку, либо НЕТ значения времени

2020/04/20 11:51:00 - Calculator.0 - ERROR (version 9.0.0.0-423, build 9.0.0.0-423 from 2020-01-31 04.53.04 by buildguy) : Unexpected error
2020/04/20 11:51:00 - Calculator.0 - ERROR (version 9.0.0.0-423, build 9.0.0.0-423 from 2020-01-31 04.53.04 by buildguy) : org.pentaho.di.core.exception.KettleStepException: 
2020/04/20 11:51:00 - Calculator.0 - Unable to find the second argument field 'test for calculation #1
2020/04/20 11:51:00 - Calculator.0 - 
2020/04/20 11:51:00 - Calculator.0 -    at org.pentaho.di.trans.steps.calculator.Calculator.processRow(Calculator.java:133)
2020/04/20 11:51:00 - Calculator.0 -    at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2020/04/20 11:51:00 - Calculator.0 -    at java.lang.Thread.run(Thread.java:748)

enter image description here

Ответы [ 2 ]

1 голос
/ 21 апреля 2020

В этом расчете ожидается имя поля, а не значение c.

Это можно исправить, сначала воспользовавшись другим вычислением, "установить для поля постоянное значение A". Тот принимает значение в столбце FieldA. Дайте ему имя (sixty_seconds), значение (60) и используйте его в качестве поля B для ваших реальных расчетов.

Установить Удалить? в Y для первого вычисления, чтобы оно не добавлялось в выходные строки.

0 голосов
/ 21 апреля 2020

использование Modified Java Script Value

enter image description here

MyTime - фиксированная системная дата. нужно добавить ниже фрагмент кода

var MyNewTime;

MyNewTime = MyTime.setMinutes(MyTime.getMinutes());
MyNewTime = new Date(MyTime);
MyNewTime.setMinutes(MyTime.getMinutes() - 1);
...