将逗号分隔的单元格拆分为多行,保持原始行不变?
Split comma delimited cell into multiple rows, keeping Original Rows as it is?
我已经尝试 Excel Power Query 选项将逗号分隔值拆分为行。它运作良好。
但是我想保持原始行不变。
因为 Power Query 删除原始行并生成新行。我想保留原始行并在其下方生成新行。通过逗号分隔符。
我们如何做到这一点?
期望值:
I have Data Rows like
1 - name - A,B
2 - name - A,B
It should Convert Like This.
1 - name - A,B
1 - name - A
1 - name - B
2 - name - A,B
2 - name - A
2 - name - B
使用 2 个导入。
Power Query 传递给 Excel 的是模型,它可以包含多个 table 或进程。
导入要拆分的数据。执行你的Split by Delimiter into Rows
。这将为您提供一个 table,其中包含您的分隔值 - Table After Split
.
再次将您的数据导入为 Table Original
。
将 Table After Split
附加到 Table After Split
以生成 Table Combined
。
删除 Table Original
和 Table After Split
,因为它们不再需要并且正在浪费内存。
现在您模型中剩下的就是合并后的 table。
好的,得到了简单的解决方案。
- 只需用逗号分隔符拆分所有行 'using power query'。我们得到“
After Split Rows
”
- 然后将所有原始行粘贴到“
After Split Rows
”上方“ ”
- 将过滤器添加到 numbers/id 行并使用“
Sort smallest to largest
”
并完成。
我们得到了原始行和拆分行下方的预期结果,如上面的问题所示。
只需添加一个自定义列,其中包含一个列表,该列表由第 3 列加上带有逗号分隔符的第 3 列的拆分组成。
然后将该列扩展为行
- 自定义列:
{[Column3]} & Text.Split([Column3],",")
原始数据
M码
let
//change Table name in next line to whatever your real source is named
Source = Excel.CurrentWorkbook(){[Name="Table12"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{
{"Column1", Int64.Type}, {"Column2", type text}, {"Column3", type text}}),
//create the list for the column
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each {[Column3]} & Text.Split([Column3],",")),
//remove old column 3 and expand the list
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Column3"}),
#"Expanded Custom" = Table.ExpandListColumn(#"Removed Columns", "Custom")
in
#"Expanded Custom"
结果
我已经尝试 Excel Power Query 选项将逗号分隔值拆分为行。它运作良好。 但是我想保持原始行不变。
因为 Power Query 删除原始行并生成新行。我想保留原始行并在其下方生成新行。通过逗号分隔符。 我们如何做到这一点?
期望值:
I have Data Rows like
1 - name - A,B
2 - name - A,B
It should Convert Like This.
1 - name - A,B
1 - name - A
1 - name - B
2 - name - A,B
2 - name - A
2 - name - B
使用 2 个导入。
Power Query 传递给 Excel 的是模型,它可以包含多个 table 或进程。
导入要拆分的数据。执行你的Split by Delimiter into Rows
。这将为您提供一个 table,其中包含您的分隔值 - Table After Split
.
再次将您的数据导入为 Table Original
。
将 Table After Split
附加到 Table After Split
以生成 Table Combined
。
删除 Table Original
和 Table After Split
,因为它们不再需要并且正在浪费内存。
现在您模型中剩下的就是合并后的 table。
好的,得到了简单的解决方案。
- 只需用逗号分隔符拆分所有行 'using power query'。我们得到“
After Split Rows
” - 然后将所有原始行粘贴到“
After Split Rows
”上方“ ”
- 将过滤器添加到 numbers/id 行并使用“
Sort smallest to largest
” 并完成。
我们得到了原始行和拆分行下方的预期结果,如上面的问题所示。
只需添加一个自定义列,其中包含一个列表,该列表由第 3 列加上带有逗号分隔符的第 3 列的拆分组成。 然后将该列扩展为行
- 自定义列:
{[Column3]} & Text.Split([Column3],",")
原始数据
M码
let
//change Table name in next line to whatever your real source is named
Source = Excel.CurrentWorkbook(){[Name="Table12"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{
{"Column1", Int64.Type}, {"Column2", type text}, {"Column3", type text}}),
//create the list for the column
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each {[Column3]} & Text.Split([Column3],",")),
//remove old column 3 and expand the list
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Column3"}),
#"Expanded Custom" = Table.ExpandListColumn(#"Removed Columns", "Custom")
in
#"Expanded Custom"
结果