Estou usando o Power Query no Excel para Microsoft 365.
Algumas das minhas colunas possuem células com vários valores. Preciso dividir essas células em linhas. Considere estes dados de origem:
O código da linguagem M para meu Power Query é o seguinte;
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Pet Type", type text}, {"Items Needed", type text}, {"Item Purpose", type text}, {"Typical Name", type text}}),
#"Split Items Needed" = Table.ExpandListColumn(Table.TransformColumns(#"Changed Type", {{"Items Needed", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.None), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Items Needed"),
#"Split Item Purpose" = Table.ExpandListColumn(Table.TransformColumns(#"Split Items Needed", {{"Item Purpose", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.None), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Item Purpose")
in
#"Split Item Purpose"
Isso resulta neste resultado real:
Aqui está o resultado desejado:
Como devo ajustar meu Power Query para obter o resultado desejado?
O seguinte código da linguagem M resolverá este problema:
Fonte:
https://stackoverflow.com/questions/62798233/splitting-multiple-multi-valued-cells-in-excel-into-rows
Crédito e agradecimento a @horseyride pela resposta no link acima.
Editar para adicionar a segunda solução
A solução a seguir, também com crédito à pergunta vinculada acima, é bastante elegante porque funciona em qualquer número de colunas: