Сравнение версий
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
Способ 1Расчет суммы накопленного итога может проводиться как за определенный период времени (со сбросом после окончании указанного периода), так и без привязки к какому-либо периоду (без сброса).
В первом случае это может быть необходимо, если, например, вы хотите провести аналитику продаж по годам и вам интересно узнать, как происходит накопление внутри каждого года. Во втором случае вам могут пригодиться такие расчеты, если, например, у вас крупный проект, который длится больше года, и вы хотите знать, сколько ресурсов потрачено с начала проекта до текущего момента. Мы рассмотрим оба варианта.
Расчет суммы накопленного итога за определенный период (со сбросом)
В данном примере мы рассчитаем накопленный итог продаж за определенный период временигод. Для расчетов мы будем использовать формулу, которая позволяет посчитать накопленный итог от начала года до текущей даты по каждому дню со сбросом по годам. С помощью такой формулы можно выполнить любое разбиение визуализируемых данных – по дням, неделям, месяцам, кварталам и полугодиям.
Используемые данные
Таблица фактов | Таблица измерений |
---|---|
factssalesfact
| dimdate
|
Для проведения расчетов, воспользуемся следующей формулой:
TOTALYTD(SUM(salesfact[salesamount]), dimdate[datekey])
где –
salesamount
– это столбец в таблицеsalesfact
, который содержит значения продаж.SUM(salesfact[salesamount])
– суммирует значения в столбцеsalesamount
, вычисляя общую сумму продаж.datekey
– столбец в таблицеdimdate
, который содержит даты, по которым производится расчет.
Данная формула легла в основу новой меры – Накопленный итог,и с ее помощью мы визуализировали накопленный итог со сбросом по годам:
Image AddedНа изображении видно, что начиная с первого месяцам 2009 года накопление сбрасывается и происходит дальнейший накопительный расчет.
Описанная формула выполняет ту же вычислительную операцию, что и приведенная ниже формула:
Блок кода |
---|
CALCULATE ( SUM ( 'factssalesfact'[salesamount] ), FILTER ( ALL ( 'dimdate' ), AND( 'dimdate'[datekey] >= DATE ( YEAR(MAX('dimdate'[datekey])), 1, 1 ), 'dimdate'[datekey] <= MAXX ( 'dimdate', 'dimdate'[datekey] )) ) ) |
На изображении видно, что начиная с первого месяцам 2009 года накопление сбрасывается и происходит дальнейший накопительный расчет.
Накопленный итог без сброса по годам пока не работаетРазница заключается только в том, что формула, в которой используется функция TOTALYTD
более проста.
Примечание |
---|
Данная формула функционирует в бета-режиме. Рекомендуется тестирование на небольшом объеме данных. |
панель | ||||||
---|---|---|---|---|---|---|
| ||||||
ОграниченияОграничение, касающиеся данной формулы: Временно поддерживается только сброс данных по годам, а также пока не поддерживается накопление по годам без сброса. Не поддерживается фильтрация накопленного итога, а также нет возможности задать минимальную/максимальную дату для расчета накопления. |
Способ 2
Сумму накопленного итога также можно рассчитать с помощью более простой формулы. Для этого вы можете воспользоваться функцией TOTALYTD
.
Формула ниже рассчитывает накопленную сумму продаж от начала года до текущей даты по каждому дню:
Блок кода |
---|
Сумма продаж YTD = TOTALYTD(SUM(factonlinesales[salesamount]), dimdate[datekey]) |
где –
salesamount
– это столбец в таблице factonlinesales
, который содержит значения продаж.
SUM(factonlinesales[salesamount])
– суммирует значения в столбце salesamount
, вычисляя общую сумму продаж.
datekey
– столбец в таблице dimdate
, который содержит даты, по которым производится расчет.Расчет суммы накопленного итога без привязки к периодам (без сброса)
Для данного примера мы воспользуемся теми же данными, что в примере выше. Для выполнения расчета мы будем использовать следующую формулу:
Блок кода |
---|
CALCULATE (
SUM ( 'factonlinesales'[salesamount] ),
FILTER (
ALL ( 'dimdate' ),
'dimdate'[datekey] <= MAXX ( 'dimdate', 'dimdate'[datekey]
))
) |
Данная формула вычисляет общий объем продаж (salesamount
) за все даты, которые меньше или равны максимальной дате в таблице dimdate
. Это позволяет получить суммарные продажи без привязки к конкретному периоду, вплоть до самой последней даты, указанной в таблице dimdate
.
Для сравнения двух расчетов мы создали две меры (Накопленный итог и Накопленный итог без сброса) и разбили данные по месяцам:
Image AddedСмотрите также
Нужна дополнительная помощь?