Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hallo zusammen,
ich bin noch relativ neu in Qlik und versuche herauszufinden, wie ich die Differenz zwischen zwei Kalenderwochen ausrechnen kann.
Meine Daten schauen so aus:
Status | Datum | Kalenderwoche |
Abgeschlossen | 29.06.2022 | 2022-KW26 |
Abgeschlossen | 29.06.2022 | 2022-KW26 |
Abgeschlossen | 04.07.2022 | 2022-KW27 |
Abgeschlossen | 05.07.2022 | 2022-KW27 |
Abgeschlossen | 06.07.2022 | 2022-KW27 |
Abgeschlossen | 06.07.2022 | 2022-KW27 |
Die Kalenderwoche wird so generiert: =Year([Datum]) & '- KW' & Week([Datum])
Ich möchte nun folgende Berechnung durchführen:
Anzahl 'Abgeschlossen' aktuelle Woche - Anzahl 'Abgeschlossen' vorherige Woche
4 - 2 = 2
Nur weiß ich leider nicht, wie ich in Qlik auf die vorherige Woche zugreife, um meine Berechnung durchzuführen.
Weiß vielleicht jemand weiter?
Vorab vielen Dank für eure Hilfe!
Wenn man mit Zeit/Datums/Perioden-Feldern rechnen und/oder sie vergleichbar machen möchte, müssen sie als numerische Werte vorliegen (mit Texten kann man nicht rechnen). Wenn man das hat, kann man mit:
max(Woche) sowie max(Woche) - 1
die jeweils aktuelle Woche und die dazugehörige Vorwoche ermitteln (bezieht sich dann auf die max. verfügbare Woche bzw. die aktuell selektierte).
Über einen Jahreswechsel hinweg funktioniert das so aber nicht, sondern hier muss auch das Jahr mit berücksichtigt werden. Sowas kann man durchaus über mehrere Felder umsetzen, ist aber unnötig komplex - einfacher wird es mit einem durchlaufenden Wochen/Monats-Counter, z.B. mit etwas wie das hier:
year(Datum) * 12 + month(Datum) as Counter
ergibt einen fortlaufenden Wochen-Counter, den man wie oben abfragen könnte, z.B. mit etwas wie:
count({< Status = {'Abgeschlossen'}, Counter = {"$(=max(Counter))"}>} Status) -
count({< Status = {'Abgeschlossen'}, Counter = {"$(=max(Counter)-1)"}>} Status)
- Marcus
Wenn man mit Zeit/Datums/Perioden-Feldern rechnen und/oder sie vergleichbar machen möchte, müssen sie als numerische Werte vorliegen (mit Texten kann man nicht rechnen). Wenn man das hat, kann man mit:
max(Woche) sowie max(Woche) - 1
die jeweils aktuelle Woche und die dazugehörige Vorwoche ermitteln (bezieht sich dann auf die max. verfügbare Woche bzw. die aktuell selektierte).
Über einen Jahreswechsel hinweg funktioniert das so aber nicht, sondern hier muss auch das Jahr mit berücksichtigt werden. Sowas kann man durchaus über mehrere Felder umsetzen, ist aber unnötig komplex - einfacher wird es mit einem durchlaufenden Wochen/Monats-Counter, z.B. mit etwas wie das hier:
year(Datum) * 12 + month(Datum) as Counter
ergibt einen fortlaufenden Wochen-Counter, den man wie oben abfragen könnte, z.B. mit etwas wie:
count({< Status = {'Abgeschlossen'}, Counter = {"$(=max(Counter))"}>} Status) -
count({< Status = {'Abgeschlossen'}, Counter = {"$(=max(Counter)-1)"}>} Status)
- Marcus
Vielen Dank für die ausführliche Antwort. Das werde ich gleich mal umsetzen!