PowerBi Transpose - Таблица - PullRequest
       21

PowerBi Transpose - Таблица

0 голосов
/ 21 сентября 2018

У меня есть файл Excel, который необходимо преобразовать из нескольких столбцов в табличный формат, но у меня возникают проблемы при объединении строк в Power Query.

Пример данных

Sample Data

Ожидаемый результат

Expected Outcome

Большое спасибо за вашу помощь заранее.

1 Ответ

0 голосов
/ 21 сентября 2018

Перед загрузкой в ​​PowerQuery вставьте строку в таблицу исключений и объедините заголовки в столбцах значений, используя разделитель.Вы можете использовать функцию TEXTJOIN, чтобы сделать это, если вы используете office365.Результат выглядит примерно так (я не копировал все ваши данные):

enter image description here

Импортируйте эту таблицу в PowerQuery и выполните следующие шаги:

  1. Удалить верхние 3 строки
  2. Использовать первую строку в качестве заголовков
  3. Выбрать первые 3 столбца
  4. Отменить поворот других столбцов (раскрывающееся меню unpivot columns при преобразованииВкладка)
  5. Выбрать столбец [Атрибут]
  6. Разделить столбец по разделителю (точка с запятой)

Сценарий выглядит следующим образом.

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type any}, {"Column5", type any}}),
    #"Removed Top Rows" = Table.Skip(#"Changed Type",3),
    #"Promoted Headers" = Table.PromoteHeaders(#"Removed Top Rows", [PromoteAllScalars=true]),
    #"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Actual;jun;FY-2017", Int64.Type}, {"Actual;jul;FY-2017", Int64.Type}}),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type1", {"Column1", "Column2", "Column3"}, "Attribute", "Value"),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Unpivoted Other Columns", "Attribute", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), {"Attribute.1", "Attribute.2", "Attribute.3"}),
    #"Changed Type2" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Attribute.1", type text}, {"Attribute.2", type text}, {"Attribute.3", type text}})
in
    #"Changed Type2"

Результат:

enter image description here

...