#excel #pivot-table #mdx #powerpivot
Вопрос:
Цель
Создайте столбец общего итога (называемый Все ниже) в сводной таблице, который будет отображаться на сводной диаграмме в Excel 2016.
Ток в сводной таблице
Сумма ежедневных продаж | Метки столбцов | |
---|---|---|
Метки строк | Север | Юг |
1/2/2021 | 1000 | 2000 |
1/3/2021 | 1500 | 2500 |
Желаемая сводная таблица
Сумма ежедневных продаж | Метки столбцов | ||
---|---|---|---|
Метки строк | Север | Юг | Все |
1/2/2021 | 1000 | 2000 | 3000 |
1/3/2021 | 1500 | 2500 | 4000 |
Анализ данных
Все данные находятся в модели данных, а связь устанавливается с помощью StoreID. Данные извлекаются из двух таблиц:
- Районы
- StoreID
- Район (Северный или Южный)
- Продажи
- StoreID
- Метка даты
- Ежедневные продажи
Попытки
- Я попытался создать вычисляемый элемент. Невозможно: Посерело.
- Я попытался использовать меру, но она просто суммирует каждый район отдельно, повторяя значения, которые у меня уже есть.
- Я изучал использование наборов с помощью многомерного выражения. Это, казалось, было самым многообещающим, так как мне просто нужно вернуться (сокращенно) [Север],[Юг],[Север] [Юг]. Однако я никогда раньше не использовал многомерные выражения и не могу найти простую функцию суммы для этого. Создание набора из столбцов дает мне эту отправную точку:
- {([Районы].[Район].amp;[Север]),([Районы].[Район].amp;[Юг])}
Решение, которое я ненавижу, Единственный способ, которым я понял, как это сделать, — это создать две сводные таблицы, а затем объединить их с помощью мастера в третью. Это создает значительные накладные расходы в моем документе и усложняет обновление.
Резюме Любая помощь будет признательна. Спасибо, что хотя бы до сих пор оставалась со мной.
Комментарии:
1. Является ли сводная таблица на листе Excel? В верхней строке меню должна быть опция
Design
. Выберите это, а затемLayout
вкладку. Есть один предметGrand Totals
. Установите его для строк и выключите для столбцов2. К сожалению, Общие итоги не отображаются на сводных диаграммах.
3. Как насчет создания многоуровневой диаграммы, в которой общая сумма столбца/бара/чего-либо будет равна общей сумме на эту дату?
4. Я поиграл с этим, но визуально сравнение между двумя наборами данных не столь очевидно. Однако я очень ценю вашу готовность участвовать в разработке идей!
5. Создайте сводную таблицу в power query. Затем добавьте пользовательский столбец, который суммирует каждую строку.
Ответ №1:
Приведены примеры данных, как показано ниже:
Вы можете создать таблицу в Power query с помощью кода:
let
//read in the data
Source = Excel.CurrentWorkbook(){[Name="Districts"]}[Content],
districts = Table.TransformColumnTypes(Source,{{"StoreID", type text}, {"District", type text}}),
Source2 = Excel.CurrentWorkbook(){[Name="Sales"]}[Content],
sales = Table.TransformColumnTypes(Source2,
{{"StoreID", type text},{"DateStamp", type date},{"DailySales", Int64.Type}}),
//Join the two tables
joined = Table.NestedJoin(districts, "StoreID", sales,"StoreID","joined",JoinKind.FullOuter),
//expand the joined table
//then groupby date
#"Expanded joined" = Table.ExpandTableColumn(joined, "joined", {"DateStamp", "DailySales"}, {"DateStamp", "DailySales"}),
#"Grouped Rows" = Table.Group(#"Expanded joined", {"DateStamp", "District"}, {{"Values", each List.Sum([DailySales]), type nullable number}}),
//Pivot by District
#"Pivoted Column" = Table.Pivot(#"Grouped Rows", List.Distinct(#"Grouped Rows"[District]), "District", "Values", List.Sum),
//Add a column summing the districts for each date
#"Added Custom" = Table.AddColumn(#"Pivoted Column", "All", each List.Sum({[North],[South]}))
in
#"Added Custom"
Выглядит как:
Затем загрузите сводную диаграмму и создайте диаграмму:
Комментарии:
1. Одно изменение: Загрузите в сводную таблицу и создайте диаграмму:
2. @SaintFrag, если вы предпочитаете, вы, безусловно, можете загрузить отчет в сводную таблицу и создать диаграмму. Но если вам не нужен отчет на листе Excel для чего-то другого, вы также можете загрузить его непосредственно на сводную диаграмму .
3. Хмм… Я не знал, что это возможно… возможно, просто не в Excel 2016 из опции «Загрузить в…»? Но, по вашему мнению, если я создам запрос только для подключения, добавив его в модель данных, а затем я смогу вставить сводную диаграмму и построить ее. Как примечание, этот маршрут удвоил мое время загрузки по сравнению с опцией «Решение, которое я ненавижу», ранее использованной выше. Так что я не уверен, что это на самом деле лучший маршрут, хотя и более управляемый.