Как создать сводную таблицу из нескольких таблиц - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь сгенерировать сводную таблицу из этой схемы:

Excel Scheme

По сути, я могу думать только о том, как отформатировать ее как 3 разные таблицы, но это не так. Кажется, что он работает, поскольку не может фильтровать по категориям и годам, так как кажется, что каждый столбец 2018/2019 отличается, поэтому результирующая сводная таблица не объединяет их, также не работает и категория, являющаяся вереском строки. Любые предложения по созданию сводной таблицы из вышеупомянутого, которые могут фильтровать такие вещи, как, скажем, общий объем продаж в 2019 году (по категориям) или перчатки, проданные в 2018 году.

Спасибо

1 Ответ

0 голосов
/ 27 января 2020

Если эти данные являются сводной таблицей, у вас есть доступ к исходным данным, поэтому вы можете изменить сводную таблицу, чтобы показать, что вам нужно.

Если эти данные представляют собой дамп с макетом, как показано, затем, чтобы использовать эти данные в качестве источника для сводной таблицы, сначала необходимо отменить / нормализовать ее, чтобы в ней были столбцы Категория, Описание элемента, Год и Значение.

Это можно сделать, загрузив данные в Power Query и нажав несколько кнопок. Существует множество учебных пособий по отключению в Power Query и способам преобразования данных с его помощью.

Зеленая таблица была создана несколькими щелчками в Power Query. Записанный код ниже. (Обратите внимание, что ни один из этого кода не был напечатан. Все, что я делал, это нажимал значки на ленте.)

enter image description here

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", Int64.Type}, {"Column3", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each if Text.Contains([Column1],"Category:") then [Column1] else null),
    #"Replaced Value" = Table.ReplaceValue(#"Added Custom","Category: ","",Replacer.ReplaceText,{"Custom"}),
    #"Filled Down" = Table.FillDown(#"Replaced Value",{"Custom"}),
    #"Renamed Columns" = Table.RenameColumns(#"Filled Down",{{"Column1", "Item"}, {"Custom", "Category"}}),
    #"Reordered Columns" = Table.ReorderColumns(#"Renamed Columns",{"Item", "Category", "Column2", "Column3"}),
    #"Renamed Columns1" = Table.RenameColumns(#"Reordered Columns",{{"Column2", "2018"}, {"Column3", "2019"}}),
    #"Filtered Rows" = Table.SelectRows(#"Renamed Columns1", each ([Item] <> "Category: Accessories" and [Item] <> "Category: Pants" and [Item] <> "Category: Shirt" and [Item] <> "Total")),
    #"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Filtered Rows", {"Item", "Category"}, "Attribute", "Value"),
    #"Renamed Columns2" = Table.RenameColumns(#"Unpivoted Columns",{{"Attribute", "Year"}}),
    #"Reordered Columns1" = Table.ReorderColumns(#"Renamed Columns2",{"Category", "Item", "Year", "Value"})
in
    #"Reordered Columns1"
...