
těžko radit při neznalosti posloupnosti tvorby dotazů tak jen tak z patra. Předpokládám že z nadpisů jsou potom názvy sloupců
Zkuste vložit někam před, než se vytvoří hlavičky podmíněný sloupec který zjistí mezeru a vrátí opravenou hodnotu případně nezjistí a vrátí původní. přeuspořádat sloupce a pokračovat

je tam jen jedna mezera nebo víc?
pokud jedna tak raději pročistit, rozdělit podle oddělovače před a po a zase sloučit bez oddělovače
Goja87(28.6.2023 13:17)citovat#055112 
Ve větším případě pouze jedna, občas se stane, že i dvě, ale ne příliš často.

Úryvok z môjho dotazu ako som to jednoducho urobil ja, transpozícia -> prečistenie -> transpozícia -> hlavička:
#"Transponovaná tabuľka" = Table.Transpose(#"Filtrované riadky2"),
#"Orezaný text" = Table.TransformColumns(#"Transponovaná tabuľka",{{"Column1", Text.Trim, type text}}),
#"Filtrované riadky3" = Table.SelectRows(#"Orezaný text", each [Column1] <> null and [Column1] <> ""),
#"Transponovaná tabuľka1" = Table.Transpose(#"Filtrované riadky3"),
#"Hlavičky so zvýšenou úrovňou" = Table.PromoteHeaders(#"Transponovaná tabuľka1", [PromoteAllScalars=true]),
Myslím, že u Vás by to mohlo byť aj obdobné. Bodol by taký súbor ako máte (anonymizovaný, hlavičky zachovať, dáta stačia 2 riadky)

Po načtení je zpravidla v dotazu nejprve Zdroj.
Za něj přidat následující
= Table.TransformColumnNames(Zdroj, each Text.Combine(Splitter.SplitTextByAnyDelimiter({" ", "#(00A0)"})(_), ""))
Maže to normální mezery a pevné mezery (kód "#(00A0)").
Pokud tam bude jiná mezera, tak si ji přidejte po vzoru pevné mezery: "#(unicode kód, 4 nebo 8 znaků)"
Kód text rozdělí na místě zadaných znaků (smaže je) a pak zbytek opět spojí bez mezery.
(mimo záznam:
funkce Splitter.SplitTextByAnyDelimiter vygeneruje funkci, která dělí text podle libovolného oddělovače v parametru.
Splitter.SplitTextByAnyDelimiter({" ", "#(00A0)"})(_)
dělí každou hlavičku sloupce, ...
)
Někdy je ještě něco takového:
= Table.PromoteHeaders(Zdroj, [PromoteAllScalars=true])
tj. z prvního řádku to udělá hlavičku. Potom příkaz patří o řádek níž.

@elninoslov
Používám:
= Table.TransformColumnNames(Zdroj, each Text.Combine(List.Select(Splitter.SplitTextByAnyDelimiter({" ", "#(00A0)"})(_), each _ <> ""), " "))
Přesněji - potýkám se i s dalšími kódy mezer, tak to přepisuji cca tak:
Mezery = (_ as nullable text) as text => Text.Combine(List.Select(Splitter.SplitTextByAnyDelimiter({" ", "#(00A0)"})(_), each _ <> ""), " "),
Vlastní1 = Table.TransformColumnNames(Zdroj, Mezery)
Ve funkci Mezery je dost "_". Tak to možná bude čitelnější:
Mezery = (_ as nullable text) as text => Text.Combine(List.Select(Splitter.SplitTextByAnyDelimiter({" ", "#(00A0)"})(_), (item) => item <> ""), " "),
Funkce Mezery může být deklarována samostatně.
Pokud je u funkce deklarován typ, tak mi to nemění typ sloupce při transformaci sloupce.
Mimochodem, v pq jde (jako všude jinde) řešit věci mnoha způsoby.
Jedním z problémů je nalezení vhodné funkce/funkcí a jejich kombinací.