Пользовательский столбец с происхождением таблицы

329
urdearboy

У меня есть силовой запрос с 14 таблицами из 14 листов. Столбцы в каждой таблице различны. У некоторых есть столбцы, уникальные для листа. Все они имеют около 10 столбцов, но порядок меняется.

Как я могу добавить собственный столбец для отображения источника листа или источника таблицы?

(Я стратегически назвал таблицы / листы для каждой таблицы на листе следующим образом Table Name = Sheet Name). Я новичок в power-query, и под новым, я имею в виду, я построил свой первый сегодня.

Я попробовал пользовательский столбец с формулой:
Table.AddColumn(#"Changed Type", "Custom", each Source{[Item="Report",Kind="Sheet"]}[Name])который не работает, как показано ниже.

enter image description here enter image description here

0

1 ответ на вопрос

0
visu-l

Все таблицы, которые вы хотите связать вместе в своем запросе, не обязательно должны иметь одинаковую структуру (имена столбцов). Вот решение для этого случая.
Вы должны написать собственный М-код. В качестве первого шага используйте функцию Excel.CurrentWorkbook .

Вот M-код, который вы можете поместить в свой редактор (имя запроса в моем примере «OutputTable» -> будет заменено в приведенном ниже коде!):

let Source = Excel.CurrentWorkbook(), // Filter out the table (= your Query Name) which will result as output #"Filtered Rows" = Table.SelectRows(Source, each ([Name] <> "OutputTable")),  // Bring the table name as 1st column #"Reordered Columns" = Table.ReorderColumns(#"Filtered Rows",{"Name", "Content"}),  // Rename the "Name" column to prevent conflict with next steps #"Renamed Columns" = Table.RenameColumns(#"Reordered Columns",{{"Name", "TableName"}}),  // Find out all column names present in Content tables  #"all table column name" = List.Accumulate(#"Renamed Columns"[Content], {}, (state, current) => List.Union()),  // Dynamically expand all columns #"Expanded " = Table.ExpandTableColumn(#"Renamed Columns", "Content", #"all table column name") in #"Expanded " 

Шаг # «имя столбца всей таблицы» вдохновлен этим ответом на Stackoverflow.

Табличные структуры не одинаковы. Количество столбцов варьируется urdearboy 6 лет назад 0
хорошо, я обновил скрипт, чтобы учесть это visu-l 6 лет назад 0
Можно проверить сегодня днем urdearboy 6 лет назад 0

Похожие вопросы