Расчет динамики

Автор Ирина, января 26, 2015, 04:56:51 pm

« предыдущая - следующая »

Ирина

Данная тема косвенно затрагивалась здесь, но ответа я так и не нашла.

Допустим есть следующие данные по продажам:
                  янв         фев          мар
Товар1  10000р.   12000р.   15000р.
Товар2    5000         4000        5000

Необходимо рассчитать динамику продаж по каждому товару в марте, относительно февраля и января, т.е.:
             мар-фев   мар-янв
Товар1    3000        5000
Товар2    1000           0

Как это реализовать в QlikView? Как лучше всего работать с датами, как задавать предыдущие недели, месяца, года относительно выбранных?

admin

января 27, 2015, 02:45:27 pm #1 Последнее редактирование: января 27, 2015, 02:56:45 pm от admin
Добрый день.
Вот Вы и добрались до анализа множеств.
Рекомендую почитать на эту тему в официальной документации по Qlikview и по Sense на сайте help.qlik.com

Вариантов решения может быть несколько, в зависимости от задачи.
Можно задать интервал дат:
Sum({1<[Date] = {">=01.02.2014<=28.02.2014"}>} Количество)
Если используется календарь, то можно задать и так:
Sum({1<[_MonthSerial]={'2'},[Year]={'2014'}>} Количество)
Т.е. вычислить разницу между месяцами можно так:

Sum({1<[_MonthSerial]={'3'},[Year]={'2014'}>} Количество)-Sum({1<[_MonthSerial]={'1'},[Year]={'2014'}>} Количество)

или так:

Sum({1<[YearMonth] = {'201403'}>} Количество)-Sum({1<[YearMonth] = {'201401'}>} Количество)

Или так:

Sum({1<[Date] = {">=01.03.2014<=31.03.2014"}>} Количество)-Sum({1<[Date] = {">=01.01.2014<=31.01.2014"}>} Количество)

Но эти выражения заданы с явным указанием дат, и не реагируют на выборки в приложении.
Следовательно, в выражение надо внести изменения, вычисления необходимых параметров в зависимости от выборки, например:
Sum({<[Date] = {">=$(=MonthStart(AddMonths(Max([Date]),-1)))<=$(=monthend(AddMonths(Max([Date]),-1)))"} >} Количество)
при текущем выборе дат марта 2014, даст период - ">=01.02.2014<=28.02.2014"

Рекомендую также ознакомиться с перечнем функций дат и времени.

Если требуется отслеживать, к примеру последние периоды от даты обновления данных, можно формировать флаги в календаре. Тогда условие для фильтра будет проще, например LastMonth={'-2'},и т.п. Все сводится к заданию условия фильтров.

Отладку условий рекомендую производить в текстовом объекте, задав условие в выражении для текста, например:
=MonthStart(AddMonths(Max([Date]),-1))

Ирина

Спасибо за Ваши варианты, буду осваивать =)
Не подскажите, где можно ознакомиться с перечнем функций дат и времени?

admin

Описание всех функций доступно во встроенной справке Qlikview по F1, в строке поиска наберите "Функции даты".
Очень много информации в Справочном руководстве по Qlikview в формате PDF. Также поиском "Функции даты).
В интернете также присутствует эта информация в справке по QLIK SENSE

Рейтинг@Mail.ru Яндекс.Метрика