Power Query での列/行の管理

Power Query での列/行の管理

大量のデータが入った .txt ファイルがあります。これを次のように Power Query に読み込みます:
[文字 (A) を 1 列幅の 1 行のデータに相当させます]

ABCD
E A
B E A E A B C D E ​ ​ ​












等々...

これを行と列に整理すると次のようになります。

AAAAA
BBEB
CE x C
D xx D
E xx E

値「A」を区切り文字として使用して、新しい列への分離を決定します。また、関連する場合、最後の値は常に同じになります (上記の「E」)。

これは可能ですか?

答え1

概念的には単純ですが、最後のステップでは詳細エディタを使用する必要があります。

  • 「A」から始まる各グループに同じ番号を持つ列を作成します。
    • インデックス列を追加する
    • Grouper数式を使用してカスタム列(名前付き)を追加するif [Column1]="A" then [Index] else null
    • 下へ記入Grouper
  • Group on 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"

ソースデータ
ここに画像の説明を入力してください

結果
ここに画像の説明を入力してください

関連情報