Office-Blog

Power Query: Weniger Datenlast durch automatisches Ausschließen irrelevanter Spalten

17.12.2024   Hildegard Hügemann

Bei Datenbeständen mit technischen Angaben habe ich schon oft erlebt, dass zahlreiche Spalten nur temporär gebraucht werden oder für die Auswertung nicht von Belang sind. Solche Spalten haben beispielsweise Präfixe wie Sys_oder Tmp_ oder User_.

Um die  Datenlast zu reduzieren, sollten solche nicht benötigten Spalten bei der Analyse ausgeschlossen werden.

Doch wie lässt sich das in Power Query automatisieren und wie lassen sich gezielt unnötige Spalten ermitteln? In diesem Power Query Rezept zeige ich, wie mit einer Änderung im M-Code solche Spalten automatisch entfernt werden, ohne die Spaltennamen direkt anzusprechen!

Spalten mit dem Präfix Sys_ von dem zu analysierenden Datenbestand ausschließen

Spalten mit dem Präfix Sys_ automatisch von dem zu analysierenden Datenbestand ausschließen

1) Sys-Spalten gezielt von der Analyse ausschließen

Um ein Muster der M-Code-Anweisung zum Auswählen von Spalten zu erstellen, selektiere ich zunächst manuell einige Spalten. Anschließend ersetze ich im M-Code die Auflistung der Spaltennamen durch eine spezielle Anweisung. So gehe ich vor:

  • Über Daten > Daten abrufen > Aus Tabelle/Bereich lese ich die Tabelle ein.
  • Dadurch entsteht der erste Schritt Quelle.
    WICHIG: Falls sich der Schritt Geänderter Typ einschleicht, diesen gleich aus der Schrittliste löschen.
  • Exemplarisch wähle ich über Start > Spalten auswählen ein paar Spalten.
Ein Muster des M-Codes zur Auswahl von Spalten über das Menüband erzeugen

Ein Muster des M-Codes zur Auswahl von Spalten über das Menüband erzeugen

  • Nun tausche ich im entstandenen M-Code die Auflistung der Spalten durch folgenden Code aus:
    List.Select(Table.ColumnNames(Quelle), each not(Text.StartsWith(_, “Sys_”))).
Die festen Spaltennamen durch eine dynamische Liste von Spaltennamen austauschen

Die festen Spaltennamen durch eine dynamische Liste von Spaltennamen austauschen

2) Dynamische Liste von relevanten Spaltennamen erzeugen

Die Lösung ist damit fertig. Jetzt stellt sich nur noch die Frage, was der oben eingefügte M-Code eigentlich bedeutet. Er liefert eine dynamischen Liste mit den zu behaltenden Spaltennamen.

  • Table.ColumnNames(Quelle) erzeugt eine Liste mit den aktuell verfügbaren Spaltennamen des Abfrageschritts Quelle.
  • List.Select mit der Bedingung Not(Text.StartsWith(_, “Sys_”)) schränkt die so erzeugte Liste auf Nicht-Sys-Spalten ein.
Mit Table.ColumnNames und List.Select eine dynamische Liste mit Spaltennamen erzeugen

Mit Table.ColumnNames und List.Select eine dynamische Liste mit Spaltennamen erzeugen

Fazit

  • Das Ausblenden irrelevanter Spalten reduziert die Komplexität der Analyse und macht den Datenbestand übersichtlicher.
  • Wichtig dabei ist aber, diese Spalten möglichst nicht namentlich anzusprechen.
  • So können neue Spalten mit dieser Kennzeichnung hinzukommen oder andere wegfallen, ohne dass die Analyse fehlläuft oder zu viele Spalten enthält.

Gut zu wissen: Warum soll ein Datenbestand in Power Query möglichst früh reduziert werden?

Diese Frage ist für alle wichtig, die große und sich ändernde Datenbestände aufbereiten und für die Analyse zur Verfügung stellen.

Daher habe ich die Frage mal bei ChatGPT eingegeben. Die Antwort (siehe unten) finde ich informativ, einleuchtend und praxisnah.

Performance-Optimierung
Je kleiner der Datenbestand, desto schneller kann Power Query Transformationen durchführen. Das Reduzieren des Datenvolumens minimiert die benötigte Rechenleistung und Speicheranforderungen, was insbesondere bei großen Datenmengen wichtig ist.

Effizienz bei der Verarbeitung
Filter und Reduktionen, die früh im Query angewendet werden, sorgen dafür, dass nachfolgende Schritte weniger Daten verarbeiten müssen. Das verbessert die Gesamteffizienz der Datenpipeline.

Bessere Lesbarkeit und vereinfachte Wartung
Ein fokussierter Datenbestand ist übersichtlicher und erleichtert es, die relevanten Transformationen und Analysen nachzuvollziehen.

Vermeidung unnötiger Operationen
Das Arbeiten mit irrelevanten Daten (z. B. nicht benötigten Zeilen oder Spalten) kann zu unnötigen Transformationen führen, die die Datenqualität nicht verbessern und Zeit verschwenden.

Interessiert an weiteren Tipps zu Power Query?

Wer sein Wissen zu Power Query systematisch auf- und ausbauen will, kann dazu einen meiner Online-Kurse nutzen. Auf dieser Seite ist das aktuelle Angebot zu finden.

TIPP: Wer hier im Blog alle Rezepte zu Power Query finden möchte, gibt einfach oben rechts in das Suchfeld Power-Query-Rezept ein.

Über den Autor

Hildegard Hügemann

- Dipl.-Informatikerin
- Trainerin für Excel und Power BI
- Als erfahrene Datenanalystin Coach für BI-Projekte
- Anwendungsentwicklerin für BI-Tools
- Fachbuchautorin und Bloggerin zu Excel und Power BI
- Video-Trainerin zu Power BI für LinkedIn Learning
- Microsoft Certified Excel Expert
- Microsoft Certified Power BI Data Analyst Associate