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

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: Raiser_ZX от 08 декабря 2015, 10:26:02

Название: Кратность в документе QlikView
Отправлено: Raiser_ZX от 08 декабря 2015, 10:26:02
Добрый день!
Подскажите, пожалуйста, по такому вопросу.
Есть готовый рабочий документ QV 11 Desktop, который вытягивает данные из Oracle.

Остался последний штрих: каким образом сделать выбор кратности сумм в документе?

То есть у меня есть список:

[offtop] пусть такой список не смущает, речь идет белорусских рублях ))) [/offtop]

И в идеале при выборе только одного значения из списка суммы в документе пересчитывались.
Я честно говоря даже не представляю как это сделать.
Возможно, кто-то из участников сталкивался с подобными задачами или может быть видел и может скинуть ссылку на учебный пример или документ, где можно посмотреть как это реализовано.

Большое спасибо!
Название: Re: Кратность в документе QlikView
Отправлено: admin от 09 декабря 2015, 05:39:16
Привет, извиняюсь что так долго пришлось ждать одобрения созданной темы.
По вопросу.
Можно сделать отдельную, несвязанную ни с чем таблицу с коэффициентами (от рублей и так далее).
В формулах с выражениями подсчета сумм денежных масс добавлять множитель:
(выражение про деньги)*МножительДеньги
Тогда, в зависимости от выбранной строки в списке будет происходить перерасчет всех выражений с множителем.
Не проверял, но должно сработать. :)
Название: Re: Кратность в документе QlikView
Отправлено: Raiser_ZX от 10 декабря 2015, 10:01:04
Цитата: admin от 09 декабря  2015, 05:39:16  
Привет, извиняюсь что так долго пришлось ждать одобрения созданной темы.
Да ничего страшного, не горит.
Цитата: admin от 09 декабря  2015, 05:39:16  По вопросу.
Можно сделать отдельную, несвязанную ни с чем таблицу с коэффициентами (от рублей и так далее).
В формулах с выражениями подсчета сумм денежных масс добавлять множитель:
(выражение про деньги)*МножительДеньги
Тогда, в зависимости от выбранной строки в списке будет происходить перерасчет всех выражений с множителем.
Не проверял, но должно сработать. :)
Почти... )
Честно говоря, списком у меня не получилось, потому что в данном случае должно быть выбрано только одно значение, а со списком я не знаю как это сделать.
Зато получилось с мультисписком. Там нормально.
В диаграммах на вкладке "Выражения" прописана формула SUM(Summ)/Mult. При выборе в мультисписке диаграммы документа пересчитываются.

Кроме одного нюанса. Есть еще элемент - простая таблица с этими самыми суммами, и вот там пока ну никак не получается сделать, чтобы числа в колонках таблицы также делились на мультипликатор.
Название: Re: Кратность в документе QlikView
Отправлено: aha от 11 декабря 2015, 09:57:48
В свойствах диаграмм документа есть закладка "Номер", на которой можно определить представление символов в диаграммах (единиц, тысяч, миллионов и миллиардов). Выбор кратности платформа QlikView при формировании диаграмм производит автоматически. Эта штатная возможность не подходит в Вашем случае?
Название: Re: Кратность в документе QlikView
Отправлено: Raiser_ZX от 13 декабря 2015, 08:05:08
Цитата: aha от 11 декабря  2015, 09:57:48  
Эта штатная возможность не подходит в Вашем случае?
Может быть, только не совсем понимаю как это применить в моем случае.
У меня есть мультисписок, я в нем выбираю руб. или млн. руб и все таблицы и диаграммы должны пересчитываться.

На данный момент это работает только для диаграмм.
Для простой таблицы и для блока статистика пока не представляю как это сделать.
Название: Re: Кратность в документе QlikView
Отправлено: DmitryK от 21 декабря 2015, 03:34:01
Как вариант:
В скипте создаем еще 4 поля к вашему полю "Список", например: руб, тысруб, млнруб, млрдруб.
В итоге получаем таблицу из 5-ти полей:
/"Список"/ "руб" / "тысруб" / "млнруб" / "млрдруб" /, где
Список - ваш список со всеми значениями
руб - все значения в рублях, т.е. "Список"/1
тысруб - все значения в тыс.руб., т.е. "Список"/1000
и т.д.

Для простой таблицы есть несколько идей, опишу только одну...времени не очень много
1. Самая простая:
Создаем 4 одинаковые таблицы (размеры и наборы полей). отличия в полях с кратностью. Одна содержит значения в руб, другая в тысруб и т.д.

На вкладке Макет, где настройка видимости вводим условия для таблицы "Руб":
GetSelectedCount(Мультисписок)>0 and SubStringCount('|'&Concat(Мультисписок, '|')&'|', '|руб|')
Для таблицы "Тысруб":
GetSelectedCount(Мультисписок)>0 and SubStringCount('|'&Concat(Мультисписок, '|')&'|', '|тысруб|')
и т.д.

Суть в том, что выбирая одно значение для пересчеты, мы скрываем 3 таблицы и показываем одну, нам необходимую.