2016-02-22 5 views
1

Привет, У меня есть столбец таблицы с именем «sku», который типа integer и другой столбец «total_sku», который снова имеет тип integer, когда я пытаюсь вычислить процент (100 * sku/total_sku) используя Калькулятор уровень. Я ожидаю целое число, но его даю мне 0.00, любезно помогите Спасибо заранее.Ошибка преобразования типа данных в pentaho

sku total_sku percentage 
23  2115  1.087 
40  2115  1.891 

ответ

2

Я думаю, что калькулятор делает разделение до умножения, вычисления 100 * (A/B), а не (100 * А)/В. Поскольку вы имеете дело с целыми числами, это округление A/B до нуля, и это конец для вас.

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

Итак, попробуйте сначала выполнить вычисления, такие как tempValue = 100 * A, затем result = tempValue/B. Задайте тип значения Integer в обоих шагах.

+0

да, округление обоих столбцов послужило ответом на мой запрос, спасибо @ken Clubok – Deepesh

0

На этапе Калькулятор, поставить «тип Value» как «Integer»

+0

Nope @kaustav Его не работает, теперь в результате его дает мне «0» – Deepesh

+0

Кажется, все в порядке для меня, вы уверены, что выбрали 100 * A/B вместо A/B? –

+0

да Я уверен, что выбрал 100 * A/B, а не A/B. – Deepesh

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

  • Нет связанных вопросов^_^