Pessoal,
Não acredito que tenha sido a solução mais performática mas consegui resolver sozinho rs...
Eu mesclei as colunas de forecast e actual, na sequencia agrupei todas as outras colunas sem nenhuma operação.
Depois fiz um select columns trazendo a coluna forecast=actual e na sequencia coloquei a table.tolist.
Extrai os valores e na sequencia tratei dividindo as colunas.
#"Colunas Mescladas2" = Table.CombineColumns(Table.TransformColumnTypes(#"Colunas Removidas2", {{"Forecast", type text}, {"Actual", type text}}, "pt-BR"),{"Forecast", "Actual"},Combiner.CombineTextByDelimiter("=", QuoteStyle.None),"Forecast=Actual"),
#"Linhas Agrupadas" = Table.Group(#"Colunas Mescladas2", {"CashFlow", "UN", "Classificacao", "Data"}, {{"Contagem", each _, type table [CashFlow=text, UN=nullable text, Classificacao=nullable text, Data=nullable text, Forecast=number, Actual=number]}}),
#"Personalização Adicionada" = Table.AddColumn(#"Linhas Agrupadas", "Personalizar", each Table.SelectColumns([Contagem],{"Forecast=Actual"})),
#"Personalização Adicionada1" = Table.AddColumn(#"Personalização Adicionada", "Personalizar.1", each Table.ToList([Personalizar])),
#"Valores Extraídos" = Table.TransformColumns(#"Personalização Adicionada1", {"Personalizar.1", each Text.Combine(List.Transform(_, Text.From), ""), type text}),
#"Valor Substituído1" = Table.ReplaceValue(#"Valores Extraídos","""","",Replacer.ReplaceText,{"Personalizar.1"}),
#"Dividir Coluna por Delimitador2" = Table.SplitColumn(#"Valor Substituído1", "Personalizar.1", Splitter.SplitTextByDelimiter("=00=", QuoteStyle.Csv), {"Personalizar.1.1", "Personalizar.1.2"}),
#"Colunas Removidas3" = Table.RemoveColumns(#"Dividir Coluna por Delimitador2",{"Contagem", "Personalizar"}),
#"Colunas Renomeadas" = Table.RenameColumns(#"Colunas Removidas3",{{"Personalizar.1.1", "Forecast"}, {"Personalizar.1.2", "Actual"}})
in
#"Colunas Renomeadas"