Структура календаря
Генерируемый календарь присоединяется к таблице связи через поле Дата (в которое попадают все значения полей дат, отмеченных «|D»). При этом в самом календаре создается поле День, который является базовым измерением календаря для визуализации. В визуализациях нужно использовать именно поле День, а не Дата. Потому что при использовании накопительных итогов поле День будет ссылаться на различные наборы Дат. Остальные измерения календаря рассчитываются относительно поля День.
![](https://bi2business.ru/wp-content/uploads/2021/08/image-16.png)
Параметры календаря
За генерацию календаря отвечают следующие параметры на вкладке !!! Main Settings !!!:
![](https://bi2business.ru/wp-content/uploads/2021/08/image-15.png)
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. Создает в календаре поля, содержащие счетчики смещения дней, месяцев, кварталов, годов в поле Дата относительно аналогичного периода поля День.
![](https://bi2business.ru/wp-content/uploads/2021/08/image-17.png)
Используется совместно со сценариями накопительного итога. Наиболее полно раскрывается с полным накопительным итогом, позволяя рассчитывать скользящее среднее за X периодов, или выводить под показателями текущего года данные по прошлому году в динамике. Примеры можно посмотреть тут.
vSSM_DynPeriods: 1 или 0, по умолчанию 1. Создает таблицу динамических периодов. Содержащую относительные названия типа «Текущий месяц», «Прошлый месяц», «Текущий год», «Прошлый год» в одном поле.
![](https://bi2business.ru/wp-content/uploads/2021/08/image-18.png)
Позволяет пользователям быстро делать отборы, в том числе и через интеллектуальный поиск. Подробнее можно прочитать тут.
vSSM_CalendarDimensions: содержит перечень формул, на базе которых рассчитываются измерения календаря. Вы можете написать сюда ваши формулы, используя синтаксис выражений клика. При этом поле, для которого рассчитываются даты, обозначается как $1.
![](https://bi2business.ru/wp-content/uploads/2021/08/image-19.png)
Дополнительные опции календаря
На вкладке Date Axis находятся дополнительные параметры для генерации вспомогательных календарей. Эти операции выполняются локально в приложении, и не требуют при изменении новой генерации кода.
![](https://bi2business.ru/wp-content/uploads/2021/08/image-20.png)
SSM_Field_Calendar: подпрограмма, для которой можно указать через «;» несколько полей дат, для которых будет сгенерирован собственный календарь с измерениями, указанными в переменной vSSM_CalendarDimensions .
![](https://bi2business.ru/wp-content/uploads/2021/08/image-21.png)
![](https://bi2business.ru/wp-content/uploads/2021/08/image-22.png)
Перечень подписей для временных осей. Содержит наименования полей и формулы для расчета подписей на временной оси, при выводе соответствующего поля как измерения с непрерывным режимом отображения.
![](https://bi2business.ru/wp-content/uploads/2021/08/image-23.png)
Вам нужно указать, какие названия полей соответствуют дню, первым датам недель, месяцев, кварталов, годов. В этом случае при использовании этих полей в качестве измерений с непрерывной осью, на оси будут красивые подписи.
![](https://bi2business.ru/wp-content/uploads/2021/06/image-3-1024x409.png)
Как это работает, можно почитать тут.
Завершает набор дополнительных параметров возможность создать Derived-календарь для любого поля даты, с измерениями из vSSM_CalendarDimensions. Такой календарь не виден в модели данных, но его поля как-бы присутствуют в визуальном слое. По факту они рассчитываются динамически в визуальном слое, и на больших объемах данных могут просадить производительность.
![](https://bi2business.ru/wp-content/uploads/2021/08/image-25.png)
![](https://bi2business.ru/wp-content/uploads/2021/08/image-26.png)