Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Декабрь 12, 2018, 08:03:13 am

Автор Тема: Динамически задать Format Pattern  (Прочитано 380 раз)

Оффлайн dimich1978

  • Новичок
  • *
  • Сообщений: 11
  • Страна: ru
  • Рейтинг: +1/-0
    • Просмотр профиля
Динамически задать Format Pattern
« : Ноябрь 19, 2018, 04:43:40 pm »
Всем доброго вечера.
Есть задача. Нужно, если сумма значения в выражении более 1 млн. То задать формат '#,##0.00 млн.
Если же <1млн., то '#,##0.000 тыс.'

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

Но ничего не выводит в итоге в диаграмму.
Будет ли такая идея работать или нет? или тут чистая статика? спасибо

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1236
  • Страна: ru
  • Рейтинг: +133/-0
    • Просмотр профиля
Re: Динамически задать Format Pattern
« Ответ #1 : Ноябрь 20, 2018, 08:10:09 am »
Привет. Qlikview | Qlik Sense ?
Форматы чисел для мер задаются отдельно.
В Qlikview тыс. млн. прописываются отдельно. в QS при выборе формата числа - Авто.
Суффиксы ( K,M,G) задаются через скрипт (в QS).

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


Оффлайн dimich1978

  • Новичок
  • *
  • Сообщений: 11
  • Страна: ru
  • Рейтинг: +1/-0
    • Просмотр профиля
Re: Динамически задать Format Pattern
« Ответ #2 : Ноябрь 20, 2018, 09:59:15 am »
Спасибо. Продолжу.
Вопрос по Qlik Sense. Есть контрагенты, их 10 штук. По каждому контрагенту выводится Доход по годам(2015,2016,2017) в диаграмму одних доход исчисляется млн. у других в тыс рублях. Но когда доход, очень маленький к примеру 2000 руб., то в диаграмме , если переводить в  млн, отобразится значение 0. Для корректного отображения в диаграмме я и хочу, делить в зависимости от ситуации и выводить  в нужном формате каждый год..
Но как понимаю, такое , если и возможно.  То наверное когда  по всем годам либо тысячи , либо млн. Если в один год тысячи, а в другом уже доход в млн., то не получится?

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

Re: Динамически задать Format Pattern
« Ответ #2 : Ноябрь 20, 2018, 09:59:15 am »

Оффлайн dimich1978

  • Новичок
  • *
  • Сообщений: 11
  • Страна: ru
  • Рейтинг: +1/-0
    • Просмотр профиля
Re: Динамически задать Format Pattern
« Ответ #3 : Ноябрь 20, 2018, 10:37:56 am »
И так, задача решена. Решение для 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. И условия из выражения стали обрабатываться.

Оффлайн dimich1978

  • Новичок
  • *
  • Сообщений: 11
  • Страна: ru
  • Рейтинг: +1/-0
    • Просмотр профиля
Re: Динамически задать Format Pattern
« Ответ #4 : Ноябрь 20, 2018, 10:46:16 am »
Остается только один вопрос. А как подстроить шкалу, чтобы то в тысячах была, то в млн. В зависимости от срабатывания моего условия в выражени

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

Re: Динамически задать Format Pattern
« Ответ #4 : Ноябрь 20, 2018, 10:46:16 am »