Сценарий применения#
Иногда требуется сравнить значения не по всему календарному месяцу.
Например, в октябре в Китае есть праздник (Национальный день). Если сравнивать данные за сентябрь и октябрь целиком, результат будет некорректным. Для объективного анализа рекомендуется использовать данные, например, с 8 по 30 октября и сравнивать их с данными с 8 по 30 сентября. Ещё пример: если сегодня 15-е число месяца, пользователь хочет узнать соотношение "предыдущего периода" суммы договоров за период с 1 по 15 число текущего месяца к тому же периоду предыдущего месяца и "аналогичного периода" к тому же периоду прошлого года.
Ожидаемый результат: после фильтрации отображаются данные по сумме договоров за период с 2013-03-15 по 2013-03-31, а также рассчитаны коэффициенты аналогичного и предыдущего периодов, как показано на рисунке ниже.
Метод реализации#
Эффект достигается добавлением фильтрующего компонента интервала дат (без привязки к полям) и вычисляемых показателей.
Добавьте параметры времени в компонент.
Используйте параметры для получения данных по сумме договоров в выбранном периоде, за тот же период прошлого месяца и года. Поскольку период может задаваться динамически, в настройках фильтрации используйте условие Параметр с тем же шагом времени.
Рассчитайте коэффициенты аналогичного и предыдущего периода, создайте компонент и дашборд.
Добавьте фильтрующий компонент "Интервал дат" на дашборд. Для фильтра включите только Привязать к параметру.
При выборе периода вы получите динамические данные по коэффициентам аналогичного и предыдущего периодов для суммы договоров.
Процедура#
Подготовка данных#
- Войдите в систему, нажмите Песочница, выберите папку и нажмите Новая рабочая книга, как показано на следующем рисунке.
- Нажмите Создать -> Добавить набор данных. Затем нажмите Локальный файл Excel и выберите Загрузить Excel, как показано на следующем рисунке.
- После загрузки нажмите Ок.
Создание компонента#
- Нажмите Создать -> Добавить компонент в правом верхнем углу.
Создание параметра#
Так как нужно динамически рассчитывать коэффициенты аналогичного и предыдущего периода, используйте функцию параметра.
Добавьте параметр типа "Время" в интерфейсе редактирования компонента, как показано на рисунке:
Расчёт суммы по договору за каждый период#
Коэффициент аналогичного периода = (Сумма договора в текущем периоде – Сумма договора за тот же период прошлого года) / Сумма за тот же период прошлого года × 100%
Коэффициент предыдущего периода = (Сумма договора в текущем периоде – Сумма за тот же период прошлого месяца) / Сумма за тот же период прошлого месяца × 100%
Для этого потребуется три новых поля:
Сумма договора в текущем периоде, Сумма договора за тот же период прошлого года, Сумма договора за тот же период прошлого месяца.
Все три поля связываются с созданным параметром.
Расчёт суммы за текущий период
Скопируйте поле Сумма договора, переименуйте в Сумма договора в текущем периоде. Настройте детальную фильтрацию по выбранному фильтром диапазону дат.
Расчёт суммы за тот же период прошлого года
Скопируйте поле Сумма договора, переименуйте в Сумма договора за тот же период прошлого года. Настройте детальную фильтрацию по аналогичному периоду прошлого года относительно выбранного диапазона.
Расчёт суммы за тот же период прошлого месяца
Скопируйте поле Сумма договора, переименуйте в Сумма договора за тот же период прошлого месяца. Настройте фильтрацию по периоду прошлого месяца относительно выбранного диапазона.
Расчёт коэффициентов аналогичного/предыдущего периода#
Показатель аналогичного периода
Добавьте вычисляемый показатель YoY. Если поле Сумма договора за тот же период прошлого года пустое, значение также будет пустым.
Формула: if(ISNULL(sum_agg(Сумма договора за тот же период прошлого года)), "", (sum_agg(Сумма договора в текущем периоде) - sum_agg(Сумма договора за тот же период прошлого года)) / sum_agg(Сумма договора за тот же период прошлого года))
Показатель предыдущего периода
Добавьте вычисляемый показатель MoM. Если поле Сумма договора за тот же период прошлого месяца пустое, значение также будет пустым.
Формула: if(ISNULL(sum_agg(Сумма договора за тот же период прошлого месяца)), "", (sum_agg(Сумма договора в текущем периоде) - sum_agg(Сумма договора за тот же период прошлого месяца)) / sum_agg(Сумма договора за тот же период прошлого месяца))
Создание групповой таблицы#
После расчёта всех полей создайте сгруппированную таблицу, перетащите поля в рабочую область, для столбцов YoY и MoM установите числовой формат — Процент.
Создание дашборда#
- Создайте дашборд и добавьте компонент.
- Добавьте фильтр "Интервалы даты".
- Привяжите фильтр к параметру, чтобы выбранный фильтром диапазон дат являлся динамической датой для созданного параметра.
Примечание: Не добавляйте поля в фильтр, и не ставьте галку Компонент в Область управления.
Отображение результата#
Перейдите на дашборд, отфильтруйте по интервалу дат — вы увидите сумму договоров за выбранный период, сумму и коэффициент предыдущего периода, сумму и коэффициент аналогичного периода прошлого года.