Установить значение для массива в шаге javascript Пентахо - PullRequest
1 голос
/ 18 июня 2019

У меня есть некоторые значения на входе, и я хочу сохранить их в массиве, но сначала я хочу установить индекс "0" массива на 0, а затем в индексы 1,2,3,4 добавить значениеввода, но я могу сделать это

, прежде чем установить значения ввода, я устанавливаю 0 в положение 0 массива, но это не работает

дело в том, что яВы хотите использовать только первые четыре числа input_data в массиве, но сначала установите для позиции 0 значение 0, а затем добавьте 5,10,15,20.итоговый массив будет 0,5,10,15,20

я устанавливаю индекс "0" массива равным 0, а остальные индексы я заполняю их входными данными.

Ответы [ 2 ]

2 голосов
/ 18 июня 2019

Это зависит от того, как данные достигают шага «Значение измененного скрипта Java». Если это одна строка со строкой, содержащей «CSV», то ответа Rohit.007 будет достаточно.

Если у вас есть несколько строк, достигающих шага, Сценарий будет повторяться N (строка) раз . Если к шагу передается 4 строки, этот сценарий будет запускаться 4 раза, поэтому вам нужно какое-то ограничение на переменные, чтобы не повторять некоторые части кода.

Лично я бы использовал что-то вроде этого для Пентахо: enter image description here

Я сгенерировал 4 строки с последовательностью добавления от 1 до 4. При первом запуске скрипта создается массив, выводится значение 0 и значение первой строки. Другие итерации сценария просто продолжают помещать значения, найденные в указанной строке, в этот массив (без его повторного объявления).

Помните, что команда «Для каждого» в Пентахо размыта, так как вы почти всегда имеете дело с многострочными таблицами, поэтому все, что вы делаете в скриптах, должно иметь некоторые ограничения на объявления переменных.

0 голосов
/ 18 июня 2019

Вы можете попробовать следующий код.

let array = [];

array.push(0);

let string = '1,2,3,4';
array = array.concat(string.split(','));
let result = array.map(function (x) { 
  return parseInt(x, 10); 
});

console.log(result);
...