Общий итог Excel в сводной диаграмме из модели данных

#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. Данные извлекаются из двух таблиц:

  1. Районы
    • StoreID
    • Район (Северный или Южный)
  2. Продажи
    • 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 из опции «Загрузить в…»? Но, по вашему мнению, если я создам запрос только для подключения, добавив его в модель данных, а затем я смогу вставить сводную диаграмму и построить ее. Как примечание, этот маршрут удвоил мое время загрузки по сравнению с опцией «Решение, которое я ненавижу», ранее использованной выше. Так что я не уверен, что это на самом деле лучший маршрут, хотя и более управляемый.