Как рассчитать столбец из агрегированных данных

Как в Power BI или Excel создать вычисляемый столбец, который выполняет суммирование и работает в обратном порядке, чтобы определить вклад каждой строки в это суммирование? Пример ниже:

Учитывая, что у меня есть продажи с начала года для каждой даты для человека, я хотел бы определить каждый день, сколько было ежедневных продаж каждого человека. Данные, которые у меня есть, это (1) дата, (2) человек, (3) продажи с начала года. То, что я ищу, — это формула расчета дневных продаж.

Дата Человек Продажи с начала года Расчетный дневной объем продаж (необходима формула) 01.01.2023 Джон 1000 1000 01.01.2023 Отметка 2000 2000 02.01.2023 Джон 1000 0 02.01.2023 Отметка 2500 500 03.01.2023 Джон 1000 0 03.01.2023 Отметка 3000 500 04.01.2023 Джон 2500 1500 04.01.2023 Отметка 3000 0 05.01.2023 Джон 3000 500 05.01.2023 Отметка 4000 1000

Можете ли вы объяснить причину нуля 0 и меньше Sales YTD в столбце результатов?

Harun24hr 12.02.2023 03:38

Какая версия Экселя? Это проще с Excel O365.

Max R 12.02.2023 06:40

@Harun24hr Sales YTD — это совокупность всех ежедневных распродаж. В моем наборе данных у меня нет ежедневных продаж, у меня есть только продажи с начала года.

alex 13.02.2023 21:42
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
3
52
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Предположим, что:

  • У вас нет доступа к O365, что упрощает задачу;
  • Ваши заголовки в формате A1:D1.

Затем в ячейке 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)

Спасибо! Я не пробовал это, поскольку отмеченное решение сделало то, что мне было нужно.

alex 12.02.2023 15:36
Ответ принят как подходящий

В 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

Другие вопросы по теме