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
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)
Abfrage umbenennen (zB Alle)
{[Name="Tabelle1"]}[Content] entfernen
=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)
Leerzeichen, Steuerzeichen Tabs,Zeilenumbrüche usw entfernen
--- SCHNIPP --
(string as text) =>
let
Quelle = Text.Trim(
Text.Combine(
Splitter.SplitTextByWhitespace()(
string
)
)," "
)
in
Quelle
--- SCHNAPP ---
Kommentare
Kommentar veröffentlichen