Power Query: Daten laden, bereinigen, transformieren – alles automatisiert!
Das Problem: Datenchaos ohne Power Query:
- Manuelle Datenbereinigung! Stunden für Copy-Paste!
- Fehlerhafte Daten! Typen durcheinander!
- Keine Automatisierung! Jeden Monat von vorne!
- Mehrere Quellen! Konsolidierung manuell!
- Keine Audit-Trail! Wer hat was geändert?
Die Lösung: Power Query! Automatische Daten-Pipelines, ETL-Workflows, Datencleaning!
In dieser Reihe lernst du: Von grundlegenden Imports bis zu Advanced-Transformationen!
1. Power Query Praxisreihe – Die 8 Module
| Modul | Titel | Level | Fokus | Praktische Cases |
|---|---|---|---|---|
| 1 | Erste Schritte mit Power Query | 🟩 Anfänger | Grundlagen, UI, Erste Query | Excel-Datei laden, einfache Filter |
| 2 | Datenquellen verbinden | 🟩 Anfänger | Excel, CSV, Web, SQL, APIs | CSV-Import, Excel-Multi-Sheet, Web-Table |
| 3 | Datencleaning & Bereinigung | 🟨 Mittel | Duplikate, Fehler, Formate | Duplikate entfernen, Fehler bereinigen, Spalten aufteilen |
| 4 | Transformationen & Aggregationen | 🟨 Mittel | GroupBy, Pivot, Zusammenfassen | Sales aggregieren, Pivot erzeugen, Metriken berechnen |
| 5 | Mehrere Quellen zusammenführen | 🟨 Mittel | Append, Merge, Join | Vertrieb + Lager zusammenbinden, Multi-Source-ETL |
| 6 | Spaltenfunktionen & Berechnungen | 🟨 Mittel | Spalten hinzu, Custom Columns, M-Code | Berechnete Spalten, Text-Operationen, Logik |
| 7 | Advanced: Indizierung & Parameter | 🟥 Fortgeschritten | Index-Spalten, Parameter, Functions | Dynamische Parameter, wiederverwendbare Functions |
| 8 | Komplexe ETL-Pipelines | 🟥 Fortgeschritten | Multi-Step Workflows, Error Handling | End-to-End-Pipeline, Fehlerbehandlung, Logging |
2. MODUL 1: Erste Schritte mit Power Query
🟩 AnfängerWas ist Power Query?
Definition: Power Query = ETL-Tool (Extract → Transform → Load) in Excel!
- Extract: Daten aus verschiedenen Quellen laden!
- Transform: Daten reinigen & umformen!
- Load: Ergebnis in Excel/Power Pivot laden!
Die Power Query Oberfläche:
Hauptkomponenten:
┌─────────────────────────────────────────┐
│ POWER QUERY EDITOR │
├─────────────────────────────────────────┤
│ ← Back │
├─────────────────────────────────────────┤
│ LEFT PANEL: │ MAIN AREA: │
│ • Queries │ • Datenansicht
│ • Applied Steps │ • Spalten
│ • Data Sources │ • Zeilen
│ │ • Preview
├─────────────────────────────────────────┤
│ RIGHT PANEL: │
│ • Query Settings │
│ • Applied Steps (zum Bearbeiten!) │
│ • Column Properties │
└─────────────────────────────────────────┘
🔧 Erste Query erstellen (Schritt für Schritt):
SCHRITT 1: Datenquelle laden
- Data Tab → Get Data → From File → Excel!
- Datei auswählen (Budget.xlsx)!
- Sheet wählen (z.B. "Sales")!
- Tabelle auswählen!
- Load → Power Query Editor öffnet sich!
SCHRITT 2: Erste Transformation
- Header-Zeile: Meist automatisch erkannt!
- Datentypen: Spalten-Header → Datentyp ändern!
- Filter: Spalten-Header → Filter einstellen!
- Sortieren: Spalten-Header → Sortierung!
SCHRITT 3: Laden & Verwenden
- Home → Close & Load → New Sheet!
- Oder: Close & Load To → Spezifisches Blatt!
- Query ist jetzt im Workbook registriert!
📚 Praktisches Beispiel:
FALL 1: CSV-Datei (Sales) einfach laden
Ausgangsdaten (sales.csv):
Ausgangsdaten (sales.csv):
Date,Product,Quantity,Price,Total
01.01.2026,Laptop,2,800,1600
02.01.2026,Phone,5,400,2000
03.01.2026,Laptop,1,800,800
...
Schritte in Power Query:
- Get Data → From File → CSV!
- Datei: sales.csv auswählen!
- Auto-erkannt: Header Row 1, Separator ","!
- Data Types: Date = Date, Quantity = Whole Number!
- Load → Excel-Tabelle erstellen!
3. MODUL 2: Datenquellen verbinden
🟩 AnfängerDatenquellen im Überblick:
| Quelle | Format | Komplexität | Häufig? |
|---|---|---|---|
| Excel File | .xlsx, .xlsm | Niedrig | ✅✅✅ |
| CSV/Text | .csv, .txt | Niedrig | ✅✅✅ |
| SQL Database | SQL Server, MySQL | Mittel | ✅✅ |
| Web Table | HTML Tabelle | Mittel | ✅ |
| API / JSON | JSON, REST | Hoch | ✅ |
| SharePoint | SharePoint List | Mittel | ✅✅ |
🔧 Verschiedene Quellen laden:
EXAMPLE 1: Mehrere Excel-Blätter laden & kombinieren
Datei: Budget_2026.xlsx
Sheets: Q1_Sales, Q2_Sales, Q3_Sales, Q4_Sales
Power Query:
1. Get Data → From File → Excel
2. Datei: Budget_2026.xlsx
3. Transform → Alle Q-Sheets auswählen!
4. Combine: Use "Append Queries"
5. Result: Eine Tabelle mit allen Quarters!
EXAMPLE 2: Web-Tabelle scrapen
Website: https://example.com/products
Goal: Produkt-Tabelle in Excel importieren!
Power Query:
1. Get Data → From Web
2. URL eingeben: https://example.com/products
3. Power Query findet Tabellen automatisch!
4. Tabelle auswählen!
5. Load!
Result: Live-Daten aus Website in Excel!
4. MODUL 3: Datencleaning & Bereinigung
🟨 MittelDie häufigsten Datenprobleme:
- 🔴 Duplikate: Gleiche Zeilen mehrfach!
- 🔴 Fehlende Werte: NULL, leer, "#N/A"!
- 🔴 Falsche Typen: "100" als Text statt Zahl!
- 🔴 Whitespace: Leerzeichen am Anfang/Ende!
- 🔴 Inkonsistente Formate: Datum: "01.01.26" vs "1/1/26"!
- 🔴 Unerwünschte Spalten: Index, Debug-Spalten!
🔧 Cleaning-Techniken:
1. Duplikate entfernen:
- Select Column → Home → Remove Duplicates!
- Oder: Spalten auswählen, dann Remove Duplicates!
- Resultat: Nur noch unique Zeilen!
2. Fehlende Werte handhaben:
- Spalte-Header → "Replace Values"!
- Ersetze: null, #N/A, "" mit Standard (z.B. 0 oder "Unknown")!
- Oder: Zeilen mit null löschen ("Remove Rows" → "Remove Errors")!
3. Spalte aufteilen (Split Column):
- Spalte-Header → Split Column → By Delimiter!
- Beispiel: "FirstName LastName" → Zwei Spalten!
- Oder: By Text Length (für festes Format)!
4. Datentyp ändern:
- Spalten-Header → Data Type Dropdown!
- Wähle: Text, Whole Number, Decimal, Date, etc.!
- Fehler: Wenn Typ nicht passt → #Error anzeigen!
📚 Praktisches Beispiel:
FALL: Messy Customer Data bereinigen
Rohdaten:
Rohdaten:
ID | Name | Email | Phone | Status
1 | John Smith | JOHN@EXAMPLE.COM | 0049 123 456 | active
2 | john smith | john@example.com | | Active
3 | JOHN SMITH | john@example.com | 0049123456 | active
4 | NULL | invalid@ | unknown | inactive
5 | Jane Doe | jane@example.com | 0049 789 012 | ACTIVE
Cleaning-Schritte:
- Duplikate: Rows 1-3 = Duplikate! → Remove!
- NULL: Row 4 Name = NULL → Remove oder Fill!
- Case: Name → Proper Case (First Letter Capital)!
- Status: Normalize zu lowercase ("active" nur)!
- Whitespace: TRIM (Name, Email, Phone)!
- Phone: Standardformat (0049...)!
5. MODUL 4: Transformationen & Aggregationen
🟨 MittelGroup By & Aggregation:
TECHNIKEN:
- Group By: Daten nach Spalte gruppieren + Aggregat!
- Pivot: Spalten zu Zeilen drehen (Matrix-View)!
- Unpivot: Spalten zu Zeilen machen (normalisieren)!
EXAMPLE: Sales nach Region aggregieren
Input Daten:
Region | Month | Sales
North | Jan | €50.000
North | Feb | €45.000
South | Jan | €35.000
South | Feb | €40.000
Transform: Group By → Region, Sum(Sales)
Output:
Region | Total Sales
North | €95.000
South | €75.000
Power Query:
1. Select: Region Column
2. Transform → Group By
3. Group By: Region
4. New Column: Sum of Sales
5. Result: Aggregierte Daten!
6. MODUL 5: Mehrere Quellen zusammenführen
🟨 MittelAppend vs. Merge:
| Operation | Zweck | Beispiel |
|---|---|---|
| Append | Zeilen kombinieren (Vertikal) | 2020 Sales + 2021 Sales |
| Merge | Spalten kombinieren (Horizontal/Join) | Sales + Customer Info |
APPEND (Zeilen hinzufügen):
- Query 1 öffnen (z.B. Q1_Sales)!
- Home → Append Queries → Query 2 (Q2_Sales)!
- Result: Q1 + Q2 in einer Tabelle!
MERGE (Join/Lookup):
- Query 1 öffnen (Sales)!
- Home → Merge Queries → Query 2 (Customer)!
- Select Join-Spalte (z.B. Customer ID)!
- Join Type: Inner, Left, Right, Full Outer!
- Result: Sales + Customer Info in einer Zeile!
7. MODUL 6: Spaltenfunktionen & Berechnungen
🟨 MittelCustom Columns mit M-Code:
Einfache Berechnungen:
- Home → Add Column → Custom Column!
- Formel eingeben (z.B. [Preis] * [Menge])!
- Name eingeben (z.B. "Total")!
- OK!
EXAMPLES mit M-Code:
1. Total berechnen:
[Preis] * [Menge]
2. Text kombinieren:
[FirstName] & " " & [LastName]
3. IF-Logik:
if [Sales] > 1000 then "VIP" else "Regular"
4. Text in Großbuchstaben:
Text.Upper([Name])
5. Monat aus Datum extrahieren:
Date.Month([OrderDate])
8. MODUL 7 & 8: Advanced & Komplexe Pipelines
🟥 FortgeschrittenAdvanced Techniken:
- Index-Spalten: Für Seriennummern, Row-Nummern!
- Parameter: Dynamische Werte (z.B. FilterDatum)!
- Functions: Wiederverwendbare Queries!
- Error Handling: try-catch mit try-otherwise!
EXAMPLE: End-to-End ETL-Pipeline
Pipeline: Sales Data Extract → Clean → Transform → Load
Step 1: EXTRACT (Multiple Sources)
├─ Excel: Q1_Sales.xlsx
├─ CSV: Q2_Sales.csv
├─ SQL: Q3_Sales (live query)
└─ Web: Q4_Forecast (scrape)
Step 2: CLEAN (Standardisierung)
├─ Remove duplicates
├─ Handle nulls
├─ Standardize data types
└─ Trim whitespace
Step 3: TRANSFORM (Business Logic)
├─ Append alle Quarters
├─ Calculate Totals
├─ Add Commissions (custom calc)
├─ Group by Region/Product
└─ Pivot by Quarter
Step 4: LOAD (Destination)
└─ Excel Tabelle
└─ Power Pivot Model
└─ Pivot Table für Dashboard
Result: Automatisierte, saubere, transformierte Daten!
9. Best Practices für Power Query
1. Aussagekräftige Query-Namen: z.B. "Sales_Raw" → "Sales_Cleaned" → "Sales_Final"!
2. Applied Steps dokumentieren: Kommentare hinzufügen (Rechtsklick → Rename)!
3. Fehlerhafte Schritte separieren: Nicht: Raw → Final in 1 Query! Lieber: 3 Queries!
4. M-Code erst spät optimieren: UI-Schritte zuerst, dann Code!
5. Backups der Source-Queries: Falls Quelle kaputt geht!
2. Applied Steps dokumentieren: Kommentare hinzufügen (Rechtsklick → Rename)!
3. Fehlerhafte Schritte separieren: Nicht: Raw → Final in 1 Query! Lieber: 3 Queries!
4. M-Code erst spät optimieren: UI-Schritte zuerst, dann Code!
5. Backups der Source-Queries: Falls Quelle kaputt geht!
10. Häufige Fehler & Lösungen
❌ Fehler 1: "Source.NotFound" beim Datei-Import
Grund: Datei verschoben oder gelöscht!
Lösung:
1. Home → Data Source Settings
2. Pfad überprüfen & korrigieren
3. Oder: Datei zurück an originalem Ort!
❌ Fehler 2: Merge funktioniert nicht (keine Übereinstimmung)
Grund: Join-Spalten haben unterschiedliche Formate!
Beispiel: Sales.CustomerID = "001" (Text)
Customer.ID = 1 (Number)
Lösung:
1. Datentypen synchronisieren!
2. Beide als Text oder beide als Number!
3. Dann Merge erneut versuchen!
❌ Fehler 3: Refresh funktioniert nicht / "Scheduled Refresh Failed"
Grund: File-Path änderbar, Quelle offline, Credentials!
Lösung:
1. Datei im OneDrive/SharePoint (nicht local!)
2. Credentials überprüfen (Data Source Settings)
3. File-Permissions prüfen!
4. Manueller Refresh testen!
11. Checkliste: Bist du bereit für Power Query?
- Ich verstehe Extract → Transform → Load (ETL)
- Ich kann Excel-Dateien in Power Query laden
- Ich kann CSV-Dateien importieren
- Ich kann Web-Tabellen scrapen
- Ich kann Duplikate entfernen
- Ich kann Spalten aufteilen (Split)
- Ich kann Group By nutzen
- Ich kann Queries mergen & appenden
- Ich kann Custom Columns mit M-Code erstellen
- Ich kann eine End-to-End-Pipeline bauen!
Mit Power Query wird Datenchaos zu sauberen Daten! 🚀✨
Nächstes Modul: Modul 1 – Erste Schritte (mit detaillierten Schritt-für-Schritt-Videos & Templates!)
Keine Kommentare:
Kommentar veröffentlichen