![Power Query 中的列/行管理](https://rvso.com/image/1672301/Power%20Query%20%E4%B8%AD%E7%9A%84%E5%88%97%2F%E8%A1%8C%E7%AE%A1%E7%90%86.png)
我有一個 .txt 文件,其中包含大量數據。我將其載入到 Power Query 中:
[讓字母 (A) 等於一行數據,一列寬]
A
B
C
D
E
A
B
E
A
E
A
B
C
D
E
等等...
我想將它組織成行和列,這樣它現在看起來像
AAAA
BBEB
CE x C
D xx D
E xx E
使用值“A”作為分隔符號來確定分隔到新列中。此外,如果相關的話,最後一個值將始終相同(上面的“E”)。
這可能嗎?
答案1
概念上很簡單,但最後一步需要使用進階編輯器
- 為每個以「A」開頭的群組建立一個具有相同編號的列
- 新增索引列
- 新增帶有公式的自訂列(命名
Grouper
)if [Column1]="A" then [Index] else null
- 向下填充
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"