SSM-3. Генерация календаря

Структура календаря

Генерируемый календарь присоединяется к таблице связи через поле Дата (в которое попадают все значения полей дат, отмеченных «|D»). При этом в самом календаре создается поле День, который является базовым измерением календаря для визуализации. В визуализациях нужно использовать именно поле День, а не Дата. Потому что при использовании накопительных итогов поле День будет ссылаться на различные наборы Дат. Остальные измерения календаря рассчитываются относительно поля День.

Параметры календаря

За генерацию календаря отвечают следующие параметры на вкладке !!! Main Settings !!!:

vSSM_AccCalMode: может содержать буквы или их комбинацию в любом порядке: D,W,M,Q,Y,A. Этот параметр отвечает за генерацию календаря. Если он пустой, то календарь не генерируются. Буквы определяют глубину накопительного итога, с которым можно будет рассчитывать меры. D — простой календарь без накопительного итога. W,M,Q,Y,A — накопительные итоги по неделям, месяцам, кварталам, годам, за все время соответственно. Используя комбинации букв, можно генерировать необходимые сценарии. Например, «DA» даст обычный календарь, и накопительный итог за все время.

Обратите внимание. Генерация календаря с полным накопительным итогом может занимать значительное время при слишком большом диапазоне дат, добавленных в канонический календарь. Если такой календарь генерируется подозрительно долго, остановите загрузку, перезагрузитесь без генерации календаря. После этого посмотрите, какие даты у вас есть в поле Дата, и нет ли там подозрительно маленьких или больших значений, вроде 01.01.1901 или 12.12.2201. Устраните эти даты, и перезагрузите приложение. Также, вы можете исопльзовать сторонний календарь, присоединив его к полю Дата.

vSSM_AsOfDate: 1 или 0. По умолчанию 1. Создает в календаре поля, содержащие счетчики смещения дней, месяцев, кварталов, годов в поле Дата относительно аналогичного периода поля День.

Используется совместно со сценариями накопительного итога. Наиболее полно раскрывается с полным накопительным итогом, позволяя рассчитывать скользящее среднее за X периодов, или выводить под показателями текущего года данные по прошлому году в динамике. Примеры можно посмотреть тут.

vSSM_DynPeriods: 1 или 0, по умолчанию 1. Создает таблицу динамических периодов. Содержащую относительные названия типа «Текущий месяц», «Прошлый месяц», «Текущий год», «Прошлый год» в одном поле.

Позволяет пользователям быстро делать отборы, в том числе и через интеллектуальный поиск. Подробнее можно прочитать тут.

vSSM_CalendarDimensions: содержит перечень формул, на базе которых рассчитываются измерения календаря. Вы можете написать сюда ваши формулы, используя синтаксис выражений клика. При этом поле, для которого рассчитываются даты, обозначается как $1.

Дополнительные опции календаря

На вкладке Date Axis находятся дополнительные параметры для генерации вспомогательных календарей. Эти операции выполняются локально в приложении, и не требуют при изменении новой генерации кода.

SSM_Field_Calendar: подпрограмма, для которой можно указать через «;» несколько полей дат, для которых будет сгенерирован собственный календарь с измерениями, указанными в переменной vSSM_CalendarDimensions .

Запрос создания календаря для 2-х полей
Результат

Перечень подписей для временных осей. Содержит наименования полей и формулы для расчета подписей на временной оси, при выводе соответствующего поля как измерения с непрерывным режимом отображения.

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

Как это работает, можно почитать тут.

Завершает набор дополнительных параметров возможность создать Derived-календарь для любого поля даты, с измерениями из vSSM_CalendarDimensions. Такой календарь не виден в модели данных, но его поля как-бы присутствуют в визуальном слое. По факту они рассчитываются динамически в визуальном слое, и на больших объемах данных могут просадить производительность.

Результат

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *