3-6. Визуализация данных с таблицей связи

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

На дату открытия

sum({<[ТипДаты]={'Сделки.Дата открытия'},[Сделки.Статус]={'WIN'}>}[Сделки.Бюджет])

На дату закрытия

sum({<[ТипДаты]={'Сделки.Дата закрытия'},[Сделки.Статус]={'WIN'}>}[Сделки.Бюджет])

А вот они на графике с одной временной осью.

А вот план и суммы успешно закрытых сделок на дату закрытия. Формула плана

sum({<[ТипДаты]={'План.Месяц'}>}[План.План])

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

Когда вы создаете меру для отображения на временной оси, всегда явно указывайте, к какому типу даты она относится. Даже если сейчас тип даты один (как в таблице планов). Никогда не знаешь, что случится завтра 🙂

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

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

Подсчет компаний, связанных со сделками.

count(distinct {<Сущность={'Сделки'}>} [ID компании])

Подсчет компаний непосредственно в таблице компаний

count(distinct {<Сущность={'Компании'}>} [ID компании])

Выводы

  1. Модель данных с таблицей связи легко масштабировать, добавляя в нее новые сущености. Даже если при изначальном проектировании вы не закладывали это.
  2. Подобная структура модели данных — по сути единственный вариант парвильной организации данных для универсальных приложений.
  3. Хотя написание таких скриптов может показаться сложным в первое время, этот процесс очень хорошо автоматизируется за счет того, что на каждом из этапов требуется повторение стандартных шагов. Вы можете воспользоваться конструктором заготовок моделей данных, чтобы упростить себе работу.

Скачать итоговое приложение из курса

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

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