我有一个 .txt 文件,里面有很多数据。我将其加载到 Power Query 中,如下所示:
[让一个字母 (A) 等于一行数据,一列宽]
ABCD
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"