Power Query, Leerzeichen aus Spaltenbeschriftungen entfernen, fxPowerTrim

Ein Datenimport aus TXT / CSV Dateien kann zu unerwünschten Leerzeichen (am Anfang und / oder am Ende) in den
Spaltenbeschriftungen führen.

Mit folgender Language M Funktion kann dies nach dem Import / Datenquellenanbindung
bereinigt werden.

Hierzu eine neue, leere Arbeitsmappenabfrage erstellen,
diese in fxPowerTrim umbenennen und
folgenden Language M Code einfügen

Quelle Ken Puls https://www.excelguru.ca/blog/2015/10/08/clean-whitespace-in-powerquery/

--- SCHNIPP ---

(text as text, optional char_to_trim as text) =>
let
char = if char_to_trim = null then " " else char_to_trim,
split = Text.Split(text, char),
removeblanks = List.Select(split, each _ <> ""),
result=Text.Combine(removeblanks)
in
 result

--- SCHNAPP ---



sowie einen weiteren Schritt einfügen

= Table.TransformColumnNames(Quelle, fxPowerTrim)


Lern Video Methode zur Bereinigung von Spaltenbeschriftungen (Data Cleansing)






Mit folgender wiederverwendbaren Funktion können alle Leerzeichen innerhalb eines Textes entfernt werden




--- SCHNIPP

(text as text, optional char_to_trim as text) =>
  let
   char = if char_to_trim = null then " " else char_to_trim,
   split = Text.Split(text, char),
   removeblanks = List.Select(split, each _ <> char_to_trim),
   result=Text.Combine(removeblanks, char_to_trim)
  in
 result

--- SCHNAPP

alternative benutzerdefinierte Funktion

--- SCHNIPP ---

(InputText as text) =>
let
    CleanData = Text.Combine(
            List.Select(
                Text.Split(
                    Text.Trim(InputText)," "),
                    each _ <> ""
                ),
                " "
            )
in
    CleanData

--- SCHNAPP ---

Lernvideo




alternativer Ansatz
Alle Spaltenbeschriftungen von allen Tabellen einer Arbeitsmappe bereinigen

eine Tabelle als Arbeitsmappenabfrage (Power Query) abbilden,
Abfrage umbenennen (zB Alle)
{[Name="Tabelle1"]}[Content] entfernen


benutzerdefinierte Spalte hinzufügen

=Table.TransformColumnNames([Content], Text.Trim)
Spalte [Content] entfernen

Spalte [SpaltenOhneLeerzeichen] erweitern




Ergebnis (Alle Tabellen kombiniert ohne Leerzeichen in Spaltenbezeichnungen)



Alle Datenelemente einer Spalte bereinigen

= Table.TransformColumns(SpaltenNamen,{{"Test", each fxPowerTrim(_)}})

key words each und _

Column / Spalte ist eine Liste, wir wollen alle Elemente einer Liste verändern
_ (Underscore) stellt dabei eine Referenz zu einem Listenelement dar

each referenziert dabei auf eine Zeile (current row, aktuelle Zeile)
 

Kommentare

Beliebte Posts aus diesem Blog

Vergleich mit 2 Bedingungen, INDEX(), VERGLEICH()

Dropdown Liste mit Mehrfachauswahl

nützliche Text Funktionen in Power Query