Как в Power BI или Excel создать вычисляемый столбец, который выполняет суммирование и работает в обратном порядке, чтобы определить вклад каждой строки в это суммирование? Пример ниже:
Учитывая, что у меня есть продажи с начала года для каждой даты для человека, я хотел бы определить каждый день, сколько было ежедневных продаж каждого человека. Данные, которые у меня есть, это (1) дата, (2) человек, (3) продажи с начала года. То, что я ищу, — это формула расчета дневных продаж.
Какая версия Экселя? Это проще с Excel O365.
@Harun24hr Sales YTD
— это совокупность всех ежедневных распродаж. В моем наборе данных у меня нет ежедневных продаж, у меня есть только продажи с начала года.
Предположим, что:
Затем в ячейке D2 поместите:
=C2- MAX(($B$2:$B$11=B2) * ($A$2:$A$11<A2) * $C$2:$C$11)
А затем скопируйте/заполните его.
Это будет работать до тех пор, пока количество продаж будет только расти, потому что предполагается, что максимальная сумма продаж с начала года является самой последней суммой. Если есть вероятность того, что продажи с начала года упадут, все становится немного сложнее.
Кроме того, если вы на 100% уверены, что для каждого сотрудника всегда будет сумма с начала года для каждого отдельного дня, вы можете просто использовать вчерашнюю сумму с начала года для этого сотрудника. Это позволяет числам с начала года колебаться вверх и вниз, но опять же требует, чтобы сумма с начала года присутствовала каждый день:
=C2- SUMPRODUCT(($B$2:$B$11=B2) * ($A$2:$A$11=A2-1) * $C$2:$C$11)
Спасибо! Я не пробовал это, поскольку отмеченное решение сделало то, что мне было нужно.
В Power BI, учитывая, что ваша исходная таблица содержит Date
, Person
и Sales YTD
, вычисление будет примерно таким, если вы хотите добавить вычисляемый столбец:
Daily Sales =
VAR _current_date = 'Table'[Date]
VAR _current_sales = 'Table'[Sales YTD]
VAR _previous_date =
CALCULATE (
MAX ( 'Table'[Date] ),
ALLEXCEPT ( 'Table', 'Table'[Person] ),
'Table'[Date] < _current_date
)
VAR _previous_sales =
CALCULATE (
SELECTEDVALUE ( 'Table'[Sales YTD] ),
ALLEXCEPT ( 'Table', 'Table'[Person] ),
'Table'[Date] = _previous_date
)
RETURN
_current_sales - _previous_sales
Можете ли вы объяснить причину нуля
0
и меньшеSales YTD
в столбце результатов?