Заголовок условного столбца в Power Query

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

Изображение с таблицей данных

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

Формула заголовка

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

Формула условного заголовка.

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


person Manoj    schedule 08.10.2018    source источник


Ответы (1)


Вот возможное решение:

В 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:

введите здесь описание изображения

person virtualdvid    schedule 08.10.2018
comment
Пожалуйста, примите мой ответ как ответ на ваш вопрос. Это поможет мне улучшить репутацию :) - person virtualdvid; 08.10.2018