Расчет итоговых значений
- Visiology Robot (Unlicensed)
- Шипилов Алексей
- Губин Максим
Итоги в виде генерируемых ячеек
Вычисления итогов подразумевает использование суффикса .Totals
для группировочных элементов, который генерирует агрегационную ячейку для отображения вычисляемого значения.
SUM
AVERAGE
COUNT
Пример №1:
Необходимо подсчитать суммы по показателям продаж квестов для “Приключений” и вывести итоги в отдельной строке:
[dim_Kvesti].[10+].[Приключения].Totals = SUM([dim_Kvesti].[10+].[Приключения].All)
.Totals
работает строго по одному измерению. Использование пересечений в сценариях с итогами не поддерживается.
При использовании .Totals
расчет будет происходит при открытии экземпляра формы, а не по факту нажатия кнопки расчета бизнес-правил. Как было указано выше такая ячейка не хранится в базе данных, а генерируется при открытии.
Итоги в виде хранимых ячеек
Пример №2:
Необходимо подсчитать сумму показателей по всем листовым элементам измерения “Квесты”. Решение будет выглядеть следующим образом:
[dim_Kvesti].[Итого] CROSS [dim_Pokazateli_prodazh_kvestov].All = SUM([dim_Kvesti].All)
При написании формулы следует учесть, что первым должен быть указан элемент, который будет исключен из расчетов. Например, в вышеуказанной формуле таким элементом является [dim_Kvesti].[Итого]
, а вторым должен быть элемент измерения показателя (допускается использовать группировочный элемент).
Пример №3:
На основе предыдущего примера необходимо более конкретно выбрать интересуемое пересечение. К примеру, следует вычислить сумму показателей по всем городам, всем квестам за 53 неделю 2020 года по организации “ИП Иванов”. Формула будет выглядеть следующим образом:
[dim_Kvesti].[Итого] CROSS [dim_Pokazateli_prodazh_kvestov].All CROSS [cal_Mesyatsi].[2020].[Week53] CROSS [dim_franshize].[ИП Иванов] = SUM([dim_Kvesti].All)
Пример №4:
Необходимо рассчитать сумму показателей не по всем квестам, а только по категории “Ужасы”.
[dim_Kvesti].[Итого по Ужасам] CROSS [dim_Pokazateli_prodazh_kvestov].All = SUM([dim_Kvesti].[18+].[Ужасы].All)
Функционал итогов работает только с одним операндом. Это означает, что формула вида: [dim1] х [dim2].All = SUM([dim2].[dim2.1].All) + SUM([dim2].[dim2.2].All) + ... + SUM([dimN].All)
на данный момент не поддерживается.