Среднее вычисление PowerPivot Excel
У меня возникают трудности с определением того, как производить вычисление средних значений, которые могут быть построены на PivotChart.
В частности, я хочу сравнить эффективность Sales Rep (валовая прибыль по месяцам/годам) со всеми другими представителями (с использованием среднего), которые находятся в сопоставимой роли (той же рабочей группе) за определенный период.
Скажем, структура данных выглядит так:
SaleID SaleLocation SaleType SalesRep SaleDate WorkGroup SalesGP
1 Retail1 Car John A 01/01/2014 Sales $301
2 HQ Bike John A 01/01/2014 Sales $200
3 Retail1 Car Sam L 02/01/2014 Sales $1300
4 Retail2 Plane Sam L 02/01/2014 Sales $72
5 Retail2 Plane Vince T 03/01/2014 Admin $55
6 Retail2 Bike John A 04/01/2014 Sales $39
7 HQ Car Vince T 05/01/2014 Admin $2154
....etc
В модели данных excel я добавил расчетные поля (которые используют таблицу поиска) для даты продажи, так что продажи могут быть построены по месяцам или годам (например, = YEAR ([SaleDate]) и = MONTH ([SaleDate]) )
В качестве примера предположим, что я хочу заговорить кого-то GP (Gross Profit) в течение определенного периода времени:
Мой вопрос...
Как я могу рассчитать "среднюю валовую прибыль", которую я могу построить на PivotChart? Эта "средняя валовая прибыль" должна быть средней для всех продаж за тот же период для одной и той же рабочей группы.
В приведенном выше примере, в PivotChart, я хочу построить "среднюю" серию, которая рассчитывает средний GP по месяцам для всех SalesReps, которые находятся в той же рабочей группе, что и John A ("Sales").
Если мой запрос недостаточно ясен, сообщите мне, и я сделаю все возможное, чтобы его расширить.
Зам, это должно быть довольно легко. Вам просто нужно создать новое вычисляемое поле, которое вычисляет среднее значение для ВСЕХ продаж.
Позвольте мне провести вас через это:
Я использовал вашу таблицу данных, а затем добавил ее в свой PowerPivot (Excel 2013). Затем я создал эти рассчитанные меры:
1. Средние продажи:
=AVERAGE(SalesData[SalesGP])
2. Sales Average ALL - это будет вычислять среднее значение для ВСЕХ строк в таблице и будет использоваться в других вычислениях. Обратите внимание: я использовал первое вычисленное поле в качестве первого параметра, чтобы сделать это гибким:
=CALCULATE([Sales Amount Average],ALL(SalesData))
3. Сравнение продаж со средним. Я не был уверен, какова ваша цель, но я сделал это немного сложнее, поскольку я хотел показать производительность в процентах:
=IF([Sales Amount Average] > 0, [Sales Amount Average] / [Sales Average ALL] -1)
В основном, это то, что сначала он проверяет, есть ли у них существующий расчет для торгового представителя, если тогда он делит Sales Average для данного торгового представителя на среднюю сумму продажи для ВСЕХ торговых представителей. И затем я вычитаю 1, чтобы производительность можно было легко понять, просто посмотрев проценты.
Чтобы было легко понять, я решил использовать гистограммы в условном форматировании вместо автономной графической диаграммы - я считаю, что она делает именно то, что вам нужно:
На рисунке выше первая таблица представляет ваши данные. Вторая таблица - фактическая таблица powerpivot и показывает то, что я описал.
Надеюсь это поможет!
РЕДАКТИРОВАТЬ
Я не хотел, чтобы все было слишком сложно, но если вы хотите удалить процентную долю из строки Grand Totals, используйте этот расчет вместо сравнения процентов:
=IF(HASONEVALUE(SalesData[SalesRep]),
IF([Sales Amount Average] > 0,
[Sales Amount Average] / [Sales Average ALL] -1),
BLANK()
)
EDIT - ДОБАВЛЕННОЕ СРЕДНЕЕ СРАВНЕНИЕ ДЛЯ РАБОТНИКОВ
Чтобы рассчитать производительность каждой рабочей группы, а не ВСЕ торгового представителя, добавьте эти две меры:
4. Средние продажи за рабочую группу
=CALCULATE(AVERAGE(SalesData[SalesGP]),ALL(SalesData[SalesRep]))
Это рассчитает среднюю продажу на рабочую группу (не путайте с использованием функции SalesRep во ВСЕХ, это связано с контекстом фильтра).
5. Продажи Diff до среднего за рабочую группу
=IF(HASONEVALUE(SalesData[SalesRep]),IF([Sales Amount Average] > 0, [Sales Amount Average] - [Sales Average per Workgroup]),BLANK())
Это просто вычисляет разницу между средней продажей данной продажи и средней продажей на рабочую группу. Результат может выглядеть следующим образом:
Я загрузил исходный файл в свою общедоступную папку Dropbox.