Службы анализа (SSAS) в SQL Server предоставляют центральное хранилище для размещения бизнес-логики, что облегчает доступ к ней для пользователей отчетов. Одним из ключевых аспектов создания простой и эффективной базы данных SSAS является проектирование измерений и фактов в хранилище данных или хранилище данных. Эти таблицы должны иметь минимальное количество вычисляемых столбцов, позволяя SSAS использовать свой собственный язык для расчета коэффициентов, процентов, целей и показателей.
Давайте рассмотрим конкретный расчет, называемый валовая прибыльная маржа, и как SSAS может помочь централизовать логику как в многомерных кубах, так и в табличных моделях.
Расчет валовой прибыльной маржи
Расчет валовой прибыльной маржи (GPM) представляет собой сумму продаж по позициям минус сумма затрат по позициям, деленная на сумму продаж по позициям:
GPM = (Сумма(Продажи) – Сумма(Затраты)) / Сумма(Продажи)
Это отношение можно легко создать в SSAS и отформатировать как процент. В многомерных кубах расчет можно добавить на вкладке “Расчет” редактора куба. В табличных моделях расчет можно добавить в раздел “Меры” таблицы.
Многомерные кубы
В многомерных кубах вы можете добавить новый вычисляемый элемент, щелкнув правой кнопкой мыши список CALCULATE в верхней левой части экрана. В редакторе вы можете определить выражение для расчета:
( [Меры].[Сумма продаж через Интернет] - [Меры].[Себестоимость продукции через Интернет] ) / [Меры].[Сумма продаж через Интернет]
Убедитесь, что установлено форматирование строки как “Процент” и выбрано [Сумма продаж через Интернет] в разделе “Поведение при отсутствии данных”, чтобы избежать ошибок деления на ноль.
После развертывания куба вы можете анализировать результаты в Excel, используя опцию “Анализировать в Excel” во вкладке браузера куба.
Табличные модели
В табличных моделях вы можете создать ту же меру, выбрав вкладку таблицы, содержащую необходимые столбцы для расчета. В этом примере это вкладка “Продажи через Интернет”. Расчет можно определить с использованием синтаксиса языка DAX:
Интернет GPM := CALCULATE( ( [Продажи через Интернет] - [Себестоимость продукции через Интернет]) / [Продажи через Интернет])
Не забудьте отформатировать меру как процент в разделе “Свойства”.
После анализа результатов в Excel вы увидите, что отображаемая мера такая же, как в кубе.
Ключевые показатели эффективности (KPI)
После того, как у вас есть отношение, например, валовая прибыльная маржа в базе данных SSAS, вы можете воспользоваться еще одной мощной функцией, называемой ключевые показатели эффективности (KPI). KPI позволяют сравнивать целевое значение с фактическим значением, а также верхние и нижние пределы. Они также предоставляют индикаторы состояния, такие как красный свет для ниже средней производительности, желтый для средней и зеленый для хорошей производительности.
В табличных моделях вы можете настроить KPI, определив целевое значение, верхний предел, нижний предел и стиль значка для визуализации. Эти KPI могут быть сравнены с значением в мере, что позволяет более гибкие сравнения на основе разных категорий и лет.
Централизуя бизнес-логику в службах анализа, вы устраняете необходимость дублирования расчетов в нескольких отчетах и снижаете риск различных значений. Это обеспечивает согласованность и точность показателей производительности в организации.
Ссылки: Меры и группы кубов, Табличные меры, Моделирование по измерениям