Возможно, я не очень хорошо описал свой вопрос. Я хотел бы преобразовать только один столбец и сделать значения этого столбца новым заголовком столбца. И значение ячейки для этих новых столбцов будет основано на другом столбце.
У меня есть база данных, как показано ниже:
Как я могу использовать запрос мощности для изменения в этой таблице:
Я пробовал разворачивать, трансформировать и поворачивать, но ни один из них не работает должным образом. У меня довольно большая база данных.
Большое спасибо!





Нажмите «Выбрать столбец имени задачи».. «Трансформировать… сводный столбец… столбец значений: задача завершена [x]» дополнительные параметры: не агрегировать
Я предполагаю, что ваша исходная таблица называется «Table1», код ниже должен работать:
let
Source = Excel.CurrentWorkbook(){[Name = "Table1"]}[Content],
tasks = List.Distinct(Source[#"Task name"]),
grouped = Table.Group(Source, {"Ref number"}, {"TaskInfos", each Record.FromList([#"Task completed date"], [#"Task name"])}),
AddSubTable = Table.AddColumn(grouped, "SubTable", each Table.FromRecords({Record.AddField([TaskInfos], "Ref number", [Ref number])})),
FilteredColumns = Table.SelectColumns(AddSubTable, {"SubTable"}),
Expanded = Table.ExpandTableColumn(FilteredColumns, "SubTable", {"Ref number"}&tasks, {"Ref number"}&tasks)
in
Expanded
Как предложила Horseyride, я изменил последний шаг на Table.ExpandTableColumn. он лучше контролирует порядок столбцов и делает код чище.
Он группирует исходную таблицу по номеру ссылки и создает подтаблицу на основе названий задач каждой группы и дат завершения задач.
@horseyride, да, так намного лучше!
Так почему бы не расширить таблицы в качестве последнего шага?