Неофициальный форум пользователей Qlik Sense & Qlikview

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: tommix от 26 марта 2015, 05:05:33

Название: Убрать округление до целых в Qlikview (Qlik Sense)
Отправлено: tommix от 26 марта 2015, 05:05:33
Как в получившемся значении убрать округление до целых.
К примеру в выражении получилось, 5,2 а в таблице показывает как 5?
Пробую использовать num(), но как-то не помогает, чувствую что-то делаю не так...

Если возможно, можно пример.
Название: Re: Убрать округление до целых
Отправлено: admin от 26 марта 2015, 05:13:07
В объекте диаграмма вкладка "Номер" выбираем любой формат по вкусу.
Название: Re: Убрать округление до целых
Отправлено: tommix от 26 марта 2015, 05:16:14
Дело, в том что он уже в диаграмму передает округленные значения, как я понимаю на уровне скрипта происходит округление.
Название: Re: Убрать округление до целых
Отправлено: admin от 26 марта 2015, 05:54:56
Как используете num() ?
Название: Re: Убрать округление до целых
Отправлено: tommix от 29 марта 2015, 03:41:03
Другие операции...

k=num($(k)+$(vA), '0.00');

        TRACE --------- $(k) --------;

tmp_Таблица_Вычислений:  // Записываем вычисления выражения в таблицу.
LOAD * Inline
[Вычисления,
$(k)];


На выходе TRACE показывает 3,45
А в Таблицу записывается 3
Название: Re: Убрать округление до целых
Отправлено: admin от 29 марта 2015, 06:59:25
Вечер добрый.
Num  (http://help.qlik.com/sense/ru-RU/online/#../Subsystems/Hub/Content/Scripting/FormattingFunctions/Num.htm?Highlight=num)используем когда нам надо гарантировать числовое представление.
А ваша задача - округление. Обычно это функция round.
В Qlikview и Sense это функция из трех параметров
Round(x[, step[, offset]]) (http://help.qlik.com/sense/ru-RU/online/#../Subsystems/Hub/Content/ChartFunctions/GeneralNumericFunctions/round.htm?Highlight=round)

round(3,45,'0.01') на выходе дает требуемое
Название: Re: Убрать округление до целых
Отправлено: tommix от 29 марта 2015, 07:16:56
Евгений, спасибо большое за наводку.
Но все равно данные записываются округленные.

Думаю, что проблема в том что запись в таблицу осуществляется, таким образом.

tmp_Таблица_Вычислений:  // Записываем вычисления выражения в таблицу.
LOAD * Inline
[Вычисления,
$(k)];


Не знаете каким еще способом можно записывать данные из переменной в таблицу?
Название: Re: Убрать округление до целых
Отправлено: tommix от 30 марта 2015, 07:17:10
Обнаружил такой момент.

tmp_Таблица_Вычислений:  // Записываем вычисления выражения в таблицу.
LOAD * Inline
[Вычисления,
$((k))];


А в таблице получаем вот такой результат.

Вычисления:
(2
(1)
(7)
(1

Т.е. получается, что данные после запятой просто не записываются. Что можно использовать, что бы исправить?
Название: Re: Убрать округление до целых
Отправлено: admin от 30 марта 2015, 07:49:12
Из-за того, что разделителем выступает запятая ',' при записи в таблицу происходит разделение целой части в поле Вычисления, а дробной в никуда.
Обрамите в кавычки переменную и все будет ОК -> '$(k)'
Название: Re: Убрать округление до целых
Отправлено: tommix от 30 марта 2015, 05:45:24
Помогло спасибо.