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

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: dimich1978 от 19 ноября 2018, 04:43:40

Название: Динамически задать Format Pattern
Отправлено: dimich1978 от 19 ноября 2018, 04:43:40
Всем доброго вечера.
Есть задача. Нужно, если сумма значения в выражении более 1 млн. То задать формат '#,##0.00 млн.
Если же <1млн., то '#,##0.000 тыс.'

В выражении я попытался реализовать так:
= IF(Sum([Сумма финансирования])<1000000,Money(Sum([Сумма финансирования])/1000, '#,##0.000 тыс.'), IF (Sum([Сумма финансирования])>=1000000 ,Money(Sum([Сумма финансирования])/1000000, '#,##0.00 млн.')))

Но ничего не выводит в итоге в диаграмму.
Будет ли такая идея работать или нет? или тут чистая статика? спасибо
Название: Re: Динамически задать Format Pattern
Отправлено: admin от 20 ноября 2018, 08:10:09
Привет. Qlikview | Qlik Sense ?
Форматы чисел для мер задаются отдельно.
В Qlikview тыс. млн. прописываются отдельно. в QS при выборе формата числа - Авто.
Суффиксы ( K,M,G) задаются через скрипт (в QS).

Что именно требуется?

Название: Re: Динамически задать Format Pattern
Отправлено: dimich1978 от 20 ноября 2018, 09:59:15
Спасибо. Продолжу.
Вопрос по Qlik Sense. Есть контрагенты, их 10 штук. По каждому контрагенту выводится Доход по годам(2015,2016,2017) в диаграмму одних доход исчисляется млн. у других в тыс рублях. Но когда доход, очень маленький к примеру 2000 руб., то в диаграмме , если переводить в  млн, отобразится значение 0. Для корректного отображения в диаграмме я и хочу, делить в зависимости от ситуации и выводить  в нужном формате каждый год..
Но как понимаю, такое , если и возможно.  То наверное когда  по всем годам либо тысячи , либо млн. Если в один год тысячи, а в другом уже доход в млн., то не получится?
Название: Re: Динамически задать Format Pattern
Отправлено: dimich1978 от 20 ноября 2018, 10:37:56
И так, задача решена. Решение для Qlik Sense
По моей задаче нужно было чтобы сумма , если она более 1 млн. руб. То мы делили сумму в рублях на 1000000. И получали в млн. Все хорошо. Но потребовалось чтобы в зависимости от суммы до млн, делить на тысячи (1000), свыше делим на (1000000).
Решение простое. В редактор выражения я внес условие :
=IF(Sum([Сумма финансирования])<1000000,Money(Sum([Сумма финансирования])/1000, '#,##0.000 тыс .руб.;-#,##0.000 тыс. руб.'),Money(Sum([Сумма финансирования])/1000000, '#,##0.00 млн.руб.;-#,##0.00 млн.руб.'))
И в Number Formatting выбрал Measure Expression. И условия из выражения стали обрабатываться.
Название: Re: Динамически задать Format Pattern
Отправлено: dimich1978 от 20 ноября 2018, 10:46:16
Остается только один вопрос. А как подстроить шкалу, чтобы то в тысячах была, то в млн. В зависимости от срабатывания моего условия в выражени