Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
xyz2
Contributor III
Contributor III

Differenz zwischen zwei Kalenderwochen

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!

1 Solution

Accepted Solutions
marcus_sommer

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

View solution in original post

2 Replies
marcus_sommer

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

xyz2
Contributor III
Contributor III
Author

Vielen Dank für die ausführliche Antwort. Das werde ich gleich mal umsetzen!