,

Türchen #12 – Ein Kalender für alle Apps – Der Master Calendar aus der Subroutine

Türchen #12

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.