SSM-4. Правила написания выражений мер

Прописывая формулы мер, в большинстве случаев нужно указывать в них дополнительные параметры, которые определяют способы агрегации на временной оси, и некоторых других измерениях. Для упрощения этого процесса, в вашем приложении находится лист «Конструктор выражений».

Им удобно пользоваться для быстрого написания формул и аудита данных. В основе конструктора лежит обработка функции GetCurrentSelections(), в результате которой ваши выборки в состоянии по умолчанию превращаются в синтаксис анализа множеств.

Обратите внимание, что если вы делается выборку в поле не через прямой отбор значений, а через поиск по фильтру (например, в поле бюджет выбираете значения по условию >=100000), то в анализ множеств попадает именно условие отбора, что очень удобно.

Конструктор выражений состоит из 3-х блоков:

  1. Выбор поля и функции агрегирования;
  2. Установка основных параметров выражения;
  3. Дополнительные параметры и аудит данных.

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

Создание формулы в конструкторе выражений

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

Поле «Сущность» нужно для определения таблицы, по данным которой производится агрегация. Сюда попадают наименования таблиц, которые обработаны генератором. Это поле важно прежде всего для вычислений по полям связи. Например, мы можем написать формулу «count(distinct @i_companyID)», которое будет считать кол-во уникальных идентификаторов компаний. Однако, это поле представлено сразу в 3-х таблицах: Сделки, Контакты и Компании. Поэтому выбор таблицы в поле «Сущность» будет определять, по данным какой таблицы делается расчет. Так, при выборе «Компания» формула будет считать кол-во компаний в данном справочнике. А если выбрать «Сделки», то будет считаться кол-во компаний, по которым открыты сделки.

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

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

Пример: синяя линия — мера, в которой сразу 2 типа даты. Как видите, данные в ней не сходятся с мерами, в которой используется только один тип даты.

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

В выборке несколько типов дат
Выбран один тип даты

❗ Даже если у вас изначально доступен только один тип даты для данной сущности, все равно его нужно выбирать. Никогда не знаешь, не добавится ли завтра второй тип дат, и не придется ли переписывать формулы, созданные ранее.

❗ Если в вашей формуле используется указание типа даты, сущность можно не указывать (при условии, что этот тип даты уникален для таблицы, по данным которой проводится расчет)

В зависимости от того, какие сценарии накопительного итога вы задали в параметре vSSM_CalendarDimensions, в поле НакопительныйИтог вам будут доступны соответствующие варианты.

STD — рассчет без накопления, ACC — за все время, остальные варианты — в соответствии с периодами.

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

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

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

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

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

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