Freitag, 26. Dezember 2025

Power Query: Abfragen parametrisieren – Berichte für unterschiedliche Zeiträume auf Knopfdruck

Parametrisierung ist der Gamechanger für flexible Reports! Einmal setup → Dann können User verschiedene Zeiträume/Filter auswählen → Rapport aktualisiert sich automatisch!

Das klassische Problem: Du hast einen Report für Januar – aber der Boss fragt:

  • "Zeig mir das gleiche für Februar!"
  • "Was ist mit Q1?"
  • "Vergleich Nord vs. Süd!"
  • Und das alles JETZT!

Alt: Stunden Arbeit! Power Query abändern, neuen Report bauen, etc.

Neu: 1 Klick! Parameter setzen → Abfrage aktualisiert sich selbst!

In diesem Tutorial lernst du: Wie du Power Query Abfragen parametrisierst für maximale Flexibilität!


1. Parameter vs. Abfragen – Die Grundlagen

Aspekt Ohne Parameter Mit Parameter
Flexibilität Hard-coded (Jan, Feb, Mär) User wählt über Dropdown/Input!
Wartung Jeden Monat manuell ändern Setup einmal, dann auto!
Fehler Hoch – Manuell vergesslich 0% – Automatisch konsistent
Speed Stunden pro Report Sekunden – einfach Refresh!
Die Magic: Parameter = Variablen in Power Query! Einmal setup → Für immer flexibel!

2. Parameter erstellen – Schritt für Schritt

Die Idee:

Statt eine Abfrage zu schreiben wie "WHERE Monat = Januar", schreibst du "WHERE Monat = @SelectedMonth" und der User kann auswählen!

Schritt 1: Parameter erstellen

So machst du's:
  1. Power Query Editor öffnen (Data → Edit Queries)
  2. Home → Manage Parameters → New Parameter
  3. Name: "SelectedMonth"
  4. Type: Text
  5. Default Value: "Januar"
  6. Suggested Values: List (Januar, Februar, März, ...)

Schritt 2: Parameter verwenden

In deiner Abfrage:
let Source = ... (Daten laden), FilteredData = Table.SelectRows(Source, each [Monat] = Parameter.SelectedMonth) in FilteredData

Das wichtige: Statt "Januar" hart zu schreiben, nutzt du den Parameter!

3. Parameter Typen – Welcher passt?

Parameter-Typ Best für Beispiel
Text Monate, Regionen, Kategorien "Januar", "Nord", "Premium"
Number Jahres, Grenzwerte, Mengen 2025, 1000€, 50 Einheiten
Date Von/Bis Datum, Zeiträume 01.01.2025, 31.12.2025
Logical (True/False) On/Off, Include/Exclude true = mit Retouren, false = ohne

4. Suggested Values – Der UX-Hit!

Das beste Feature: Suggested Values zeigen dem User eine Dropdown-Liste!

Schritt 1: Dynamische Liste aus Daten

Neue Abfrage erstellen: "MonthList"
let Source = // Von wo kommen die Monate? DistinctMonths = Table.SelectColumns(Source, "Monat"), UniqueMonths = Table.Distinct(DistinctMonths), MonthList = UniqueMonths[Monat] in MonthList

Dann: Im Parameter → Suggested Values = "Query" → "MonthList" auswählen!
Das Brillante: User sieht automatisch die Monate die in den Daten existieren – immer aktuell!

5. Fallstudie 1: Monatlicher Verkaufs-Report

Szenario: Verkaufsleiter braucht Berichte für verschiedene Monate

Setup:
  1. Parameter "SelectedMonth": Type = Text, Default = "November"
  2. Suggested Values: Dynamisch von Daten
  3. Abfrage "SalesData":
    let Source = Excel.Workbook(File.Contents("C:\Verkauf\2025.xlsx")), Data = Source{[Item="Daten"]}[Data], FilteredByMonth = Table.SelectRows(Data, each [Monat] = SelectedMonth), GroupedByRegion = Table.Group(FilteredByMonth, {"Region"}, {{"Umsatz", each List.Sum([Umsatz]), type number}}) in GroupedByRegion

Resultat: Boss öffnet Report → Dropdown "November" → "Dezember" wählen → Refresh → Sofort neue Daten! 🎉

6. Fallstudie 2: Zeitraum-Vergleich

Szenario: Vergleich zwischen zwei Monaten (z.B. "November vs. Oktober")

Setup:
  1. 2 Parameter: "StartMonth" & "EndMonth"
  2. Abfrage:
    let Source = ... (Daten laden), FilteredRange = Table.SelectRows(Source, each [Monat] >= StartMonth AND [Monat] <= EndMonth) in FilteredRange
  3. Pivot: Nach Monat um Vergleich zu sehen

Resultat: User wählt "Oktober" und "November" → Report zeigt Seite-an-Seite Vergleich! 📊

7. Fallstudie 3: Region-Filter

Szenario: Report nur für eine Region

Setup:
  1. Parameter "SelectedRegion": Default = "Alle" oder "Nord"
  2. Abfrage mit Conditional Logic:
    let Source = ... (Daten laden), FilteredData = if SelectedRegion = "Alle" then Source else Table.SelectRows(Source, each [Region] = SelectedRegion) in FilteredData

Resultat: "Alle", "Nord", "Süd", "West" wählbar → Je nach Wahl andere Daten! 🎯

8. Best Practices für Parametrisierung

Tipp 1: Immer Default-Wert setzen!

Wenn User den Parameter nicht setzt → Default verwendet → Report funktioniert trotzdem!

Tipp 2: Suggested Values statt freier Text

Mit Dropdown machen User keine Tippfehler! ("Januar" nicht "jan" oder "JANUAR")

Tipp 3: Mehrere Parameter kombinieren

Month UND Region → Noch flexibler! But: Nicht zu viele! (Max 3-4 pro Report)

Tipp 4: Parameter dokumentieren

Im Excel Sheet eine Hilfe-Seite → "Parameter explanation" → Für andere User hilfreich!

Tipp 5: Validation & Error Handling

Was wenn User ungültige Werte eingibt? → M-Code Check einbauen!

9. Häufige Fehler & Lösungen

❓ F: Parameter wird nicht erkannt in der Abfrage!
A: Häufige Gründe:
  • Falscher Name: "SelectedMonth" vs "selectedmonth" – Case sensitive!
  • Nicht mit # prefixed: In M-Code muss es #"SelectedMonth" sein (mit #!)
  • Parameter noch nicht created: Erst Parameter erstellen, DANN in Abfrage nutzen!
❓ F: Suggested Values zeigen sich nicht!
A: Wahrscheinlich Source Query nicht gefunden:
  • Prüfe: Ist die "MonthList" Query wirklich erstellt?
  • Format: Liste (nicht Tabelle!)
  • Power Query neustart wenn nötig!
❓ F: Keine Daten im Report wenn Parameter andere Wert hat!
A: Wahrscheinlich Schreibfehler im Filter:
  • Prüfe: Matches der Wert in den Daten? ("Jan" vs "Januar"?)
  • Case-sensitive? ("Januar" vs "januar"?)
  • Trimme Whitespace: Text.Trim(SelectedMonth)
❓ F: Kann ich mehrere Werte gleichzeitig auswählen?
A: JA, aber komplizierter! Workaround:
  • Text-Parameter: "Januar,Februar,März" (mit Kommas)
  • In Abfrage: Splitten & filtern nach jedem Wert
  • ODER: Verwende True/False Parameter für "Include Januar", etc.
Einfacher: Seperate Parameter pro Monat (zu viel aber!) ODER nur Einzelwahl zulassen!

10. Deine nächsten Schritte

  1. Parameter verstehen: Konzept & Vorteile
  2. Erstes Parameter erstellen: Text-Type mit Default
  3. In Abfrage nutzen: Filter mit Parameter
  4. Suggested Values setup: Dropdown für User
  5. Testen: Parameter ändern → Refresh → Funktioniert?
  6. Fallstudien nachbauen: Monat, Zeitraum, Region
  7. Mehrere Parameter kombinieren: Für maximale Flexibilität!

Checkliste für Power Query Parametrisierung

  • Ich verstehe was Parameter sind
  • Ich kann Parameter erstellen (Text, Number, Date)
  • Ich kann Default-Wert setzen
  • Ich kann Suggested Values konfigurieren
  • Ich weiß wie man Parameter in Abfrage nutzt
  • Ich kann Filter mit Parameter schreiben
  • Ich kann Conditional Logic (if/then) nutzen
  • Ich kann Errors bei ungültigen Werten handhaben
  • Ich kann mehrere Parameter kombinieren
  • Ich erstelle parametrisierte Reports in echten Projekten

Mit parametrisierten Abfragen schaffst du Reports für alle Szenarien! 🚀📊

Keine Kommentare:

Kommentar veröffentlichen

Power Query Praxisreihe – Von Datenimport bis zu komplexen Transformationen

Power Query: Daten laden, bereinigen, transformieren – alles automatisiert! Das Problem: Datenchaos ohne Power Qu...