Warum ein zentraler Kalender der Schlüssel zu konsistenter Zeitlogik in Qlik ist
Wer schon länger mit Qlik arbeitet, kennt das Problem: In jeder App gibt es einen eigenen Kalender – leicht anders aufgebaut, unterschiedlich berechnet, teils unvollständig, teils historisch gewachsen.
Das Ergebnis?
🔸 Zeitvergleiche stimmen nicht überall gleich
🔸 KPIs liefern je nach App leicht verschiedene Ergebnisse
🔸 Rolling- und Year-over-Year-Analysen funktionieren inkonsistent
🔸 Die Wartung wird unnötig komplex
Die Lösung ist einfach und gleichzeitig extrem wirkungsvoll: Ein einziges, zentrales Kalender-Skript – als Subroutine – das in jeder App wiederverwendet wird.
Ein Master Calendar für alle Apps – konsistente Zeitlogik statt Wildwuchs
Ein sauber definierter Master Calendar bringt Ordnung und Einheitlichkeit in jede Qlik-Umgebung. Indem Sie das Kalenderskript einmal erstellen und per Subroutine in jeder App wiederverwenden, profitieren Sie sofort:
✔ Konsistente Zeitlogik in allen Apps
Alle Nutzer:innen analysieren Zeiträume nach denselben Regeln.
✔ Keine Kopien, keine Varianten, keine Überraschungen
Änderungen oder Ergänzungen werden einmal gemacht – und gelten überall.
✔ Klare Trennung von Logik
- Faktenmodell → Datengrundlage
- Kalender → zentrale Zeitlogik
Das macht Apps stabil, verständlich und sauber dokumentierbar.
Warum ein zentraler Kalender so wertvoll ist
Gerade bei Analysen wie:
- Year-over-Year
- Month-to-Date / Year-to-Date
- Rolling 12 Months
- Vergleich Geschäftsjahr vs. Kalenderjahr
- Saisonale Vergleiche
- Custom Periods / Custom Weeks
zahlt sich ein zentraler Master Calendar massiv aus. Er sorgt für einheitliche Zeitdimensionen über alle Anwendungen hinweg und verhindert, dass jede App ihre eigene Interpretation von „aktueller Monat“, „Vorjahr“ oder „Quartal“ nutzt.
Wie es funktioniert: Master Calendar als Subroutine
Anstatt ein statisches Kalenderskript in jede App einzubauen, kapseln Sie den Kalender in eine Subroutine (z. B. CreateCalendar) und speichern ihn in einer zentralen calendar.qvs.
Jede App bindet diese Datei ein und ruft die Subroutine mit CALL CreateCalendar(...) auf.
Das Ergebnis:
📌 Eine Datei – unbegrenzte Wiederverwendung
📌 Mehr Flexibilität durch dynamische Parameter
📌 Weniger Fehlerquellen
Pro-Tipp (Advanced)
Erweitern Sie den Master Calendar direkt um einheitliche Fiskaljahr-Logik, z. B.:
- FiscalYear
- FiscalPeriod
- FiscalQuarter
- FiscalWeek
So nutzen alle Apps automatisch dieselben Standards – egal ob Ihr Geschäftsjahr am 1. Jänner, 1. April oder 1. Juli startet.
Qlik empfiehlt seit Jahren genau dieses Prinzip: Ein Master Calendar als Referenz für alle Datumsanalysen.
Code-Beispiel
// calendar.qvs SUB CreateCalendar(vMinDate, vMaxDate) Calendar: LOAD Date($(vMinDate) + IterNo() - 1) AS Date, Year(Date($(vMinDate) + IterNo() - 1)) AS Year, Month(Date($(vMinDate) + IterNo() - 1)) AS Month, Week(Date($(vMinDate) + IterNo() - 1)) AS Week, 'Q' & Ceil(Month(Date($(vMinDate) + IterNo() - 1))/3) AS Quarter AUTOGENERATE 1 WHILE $(vMinDate) + IterNo() - 1 <= $(vMaxDate); END SUB; // In der App $(Must_Include=lib://Include/calendar.qvs); LET vMinDate = Num(MakeDate(2020,1,1)); LET vMaxDate = Num(Today()); CALL CreateCalendar('$(vMinDate)', '$(vMaxDate)');
Fazit: Ein einziges calendar.qvs – einheitliche Kalenderstandards für alle Qlik-Apps
Ein zentraler Master Calendar ist einer der effektivsten Best-Practice-Ansätze im Qlik-Scripting:
- Einmal definiert – überall genutzt
- Saubere, konsistente Zeitlogik in der gesamten Qlik-Umgebung
- Weniger Entwicklungsaufwand
- Klare Trennung von Business- und Zeitlogik
- Weniger Fehler und weniger Pflege
Ein wiederverwendbarer Master Calendar eliminiert Variationen in der Zeitlogik, verhindert Analyse-Unterschiede zwischen Apps und ermöglicht eine robuste, skalierbare Qlik-Architektur mit klarer Trennung von Daten- und Zeitmodell. Klein in der Umsetzung – groß in der Wirkung. Ein echter Effizienz-Booster für jede Qlik-Umgebung.

