Условный заголовок столбца в Power Query - PullRequest
0 голосов
/ 08 октября 2018

У меня есть ситуация, когда заголовки моих заголовков отсутствуют для некоторых столбцов из-за того, что мои данные имеют формат KEY и TEXT, где имеется заголовок столбца для KEY, но гайка для TEXT.ПРИМЕР ниже.

Image showing the data table

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

Header Title formula

И результат как на изображении 3

Conditional header formula.

В настоящее время я играю с PowerQuery, и я довольно новичок в этом инструменте.Кто-нибудь знает шаги, которые можно обойти, поэтому даже если позиция источника данных изменится, заголовок столбца останется таким, как он работает в Excel.Я был бы очень рад.

1 Ответ

0 голосов
/ 08 октября 2018

Здесь возможное решение:

В Excel для загрузки таблицы в Power Query снимите флажок My table has headers:

ВРедактор Power Query ищет Advanced Editor, копирует и вставляет следующие строки:

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type any}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}, {"Column6", type text}, {"Column7", type text}, {"Column8", type any}, {"Column9", type any}, {"Column10", type any}}),
    #"Transposed Table" = Table.Transpose(#"Changed Type"),
    #"Added Conditional Column" = Table.AddColumn(#"Transposed Table", "Custom", each if [Column1] = null then [Column2] else [Column1]),
    #"Duplicated Column" = Table.DuplicateColumn(#"Added Conditional Column", "Custom", "Custom - Copy"),
    #"Filled Down" = Table.FillDown(#"Duplicated Column",{"Custom"}),
    #"Added Conditional Column1" = Table.AddColumn(#"Filled Down", "Custom.1", each if [#"Custom - Copy"] = null then [Custom] & " Name" else [Custom]),
    #"Reordered Columns" = Table.ReorderColumns(#"Added Conditional Column1",{"Custom.1", "Column1", "Column2", "Column3", "Column4", "Column5", "Custom", "Custom - Copy"}),
    #"Removed Columns" = Table.RemoveColumns(#"Reordered Columns",{"Column1", "Custom", "Custom - Copy"}),
    #"Transposed Table1" = Table.Transpose(#"Removed Columns"),
    #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table1", [PromoteAllScalars=true]),
    #"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"StudentID", type any}, {"Country", type text}, {"Country Name", type text}, {"Department", type text}, {"Department Name", type text}, {"Mayor", type text}, {"Mayor Name", type text}, {"AGE", type any}, {"WEIGHT", type any}, {"HEIGHT", type any}})
in
    #"Changed Type1"

Загрузить как таблицу в Excel:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...