Управление столбцами/строками в Power Query

Управление столбцами/строками в Power Query

У меня есть файл .txt с кучей данных. Я загрузил его в Power Query следующим образом:
[пусть буква (A) будет равна строке данных шириной в один столбец]

А
Б
В Г
Д А Б Е А Е А Б В Г Д











и так далее...

Я хотел бы организовать его в строки и столбцы так, чтобы теперь он выглядел так:

AAAA
BBEB
CE x C
D xx D
E xx E

используя значение "A" в качестве разделителя для определения разделения в новый столбец. Кроме того, последнее значение всегда будет тем же самым ("E" выше), если это имеет значение.

Это возможно?

решение1

Концептуально просто, но требует использования расширенного редактора на последнем этапе.

  • Создайте столбец с одинаковым номером для каждой группы, начиная с «А».
    • Добавить столбец индекса
    • Добавить пользовательский столбец (с именем Grouper) с формулойif [Column1]="A" then [Index] else null
    • Заполнить внизGrouper
  • Группа на Grouper
    • Агрегат «Все строки»
  • Добавьте еще один пользовательский столбец, который извлекает в виде списка значения из каждого столбца подтаблицы1
  • Используйте эти списки для создания новой таблицы с помощью Table.FromColumnsфункции
let

//Change next line to reflect actual data source
    Source = Excel.CurrentWorkbook(){[Name="Table26"]}[Content],

    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
    #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 0, 1, Int64.Type),
    #"Added Custom" = Table.AddColumn(#"Added Index", "Grouper", each if [Column1]="A" then [Index] else null),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Index"}),
    #"Filled Down" = Table.FillDown(#"Removed Columns",{"Grouper"}),
    #"Grouped Rows" = Table.Group(#"Filled Down", {"Grouper"}, {{"Count", each _, type table [Column1=nullable text, Grouper=number]}}),
    #"Removed Columns1" = Table.RemoveColumns(#"Grouped Rows",{"Grouper"}),
    #"Added Custom1" = Table.AddColumn(#"Removed Columns1", "Columns", each [Count][Column1]),
    #"Removed Columns2" = Table.RemoveColumns(#"Added Custom1",{"Count"}),

    #"New Table" = Table.FromColumns(#"Removed Columns2"[Columns])

in

    #"New Table"

Источник данных
введите описание изображения здесь

Полученные результаты
введите описание изображения здесь

Связанный контент