Я пытаюсь объединить две таблицы с помощью Power Query, и я беспомощно перегружен. Я создал соединение и соединил две таблицы с помощью левого внешнего соединения.
Таблица 1
Таблица 2
Теперь я хочу вывести следующую таблицу
Я думаю, должен быть способ с помощью команды Table.ExpandTableColumn, но я понятия не имею, что искать.
Я использую эксель 365.
Я попробовал кнопку Развернуть, но она объединяет только таблицу 1 с каждой записью из таблицы 2 (с совпадающим именем).
Начните с таблицы 2 и объедините таблицу 1 с левым внешним соединением, соответствующим имени.
Расширить отрасль и дату
Нажмите «Выбрать столбец имени», щелкните правой кнопкой мыши «Группировать по».
Добавьте указатель в каждую группу, чтобы мы могли пронумеровать вопросы. Для этого вручную скорректируйте код, сгенерированный из группового шага, чтобы он заканчивался следующим образом.
{{"data", each Table.AddIndexColumn(_, "Index", 0, 1, Int64.Type), type table}})
Разверните данные. Нажмите «Выбрать столбец индекса» и «Преобразовать.. сводной столбец» и выберите «Вопрос» в качестве столбца значений, а в «Дополнительных параметрах» не объединяйте.
полный пример кода для таблицы 2
let Source = Excel.CurrentWorkbook(){[Name = "Table3"]}[Content],
#"Merged Queries" = Table.NestedJoin(Source, {"Name"}, Table1, {"Name"}, "Table1", JoinKind.LeftOuter),
#"Expanded Table1" = Table.ExpandTableColumn(#"Merged Queries", "Table1", {"Industry", "Date"}, {"Industry", "Date"}),
#"Grouped Rows" = Table.Group(#"Expanded Table1", {"Name"}, {{"data", each Table.AddIndexColumn(_, "Index", 0, 1, Int64.Type), type table }}),
#"Expanded data" = Table.ExpandTableColumn(#"Grouped Rows", "data", {"Question", "Industry", "Date", "Index"}, {"Question", "Industry", "Date", "Index"}),
#"Pivoted Column" = Table.Pivot(Table.TransformColumnTypes(#"Expanded data", {{"Index", type text}}, "en-US"), List.Distinct(Table.TransformColumnTypes(#"Expanded data", {{"Index", type text}}, "en-US")[Index]), "Index", "Question")
in #"Pivoted Column"