Diese Funktion gibt zurück, ob timestamp innerhalb der Mondwoche liegt, die base_date enthält. Mondwochen werden in Qlik Sense festgelegt, indem der 1. Januar als erster Tag der Woche gezählt wird.
Das Datum, das mit base_date verglichen werden soll.
base_date
Datum, das für die Interpretation der Mondwoche verwendet wird.
period_no
Mit period_no kann ein anderer Beginn für die Mondwoche definiert werden. period_no ist eine ganze Zahl, wobei 0 für die Mondwoche steht, die base_date enthält. Negative Werte von period_no stehen für vorangehende, positive Werte für nachfolgende Mondwochen.
first_week_day
Ein Startwert, der größer oder kleiner als Null sein kann. Dadurch wird der Beginn des Jahres um die angegebene Anzahl an Tagen und/oder den Bruchteil eines Tages verschoben.
Skriptbeispiele
Beispiel
Ergebnis
inlunarweek('12/01/2013', '14/01/2013', 0)
Liefert True. Da der Wert von timestamp, 12/01/2013 in die Woche 08/01/2013 bis 14/01/2013 fällt.
inlunarweek('12/01/2013', '07/01/2013', 0)
Liefert False. Da base_date das Datum 07/01/2013 in der Mondwoche 01/01/2013 bis 07/01/2013 ist.
inlunarweek('12/01/2013', '14/01/2013', -1)
Liefert False. Da die Angabe eines Werts von period_no als -1 die Woche auf die vorhergehende Woche verschiebt, 01/01/2013 bis 07/01/2013.
inlunarweek('07/01/2013', '14/01/2013', -1)
Liefert True. Verglichen mit dem vorherigen Beispiel befindet sich der Zeitstempel in der Woche danach, weil die Verschiebung nach hinten berücksichtigt wird.
inlunarweek('11/01/2006', '08/01/2006', 0, 3)
Liefert False. Durch die Festlegung des Werts für first_week_day als 3 wird das Geschäftsjahr ab dem 04/01/2013 berechnet. Deshalb fällt der Wert von base_date in die erste Woche und der Wert von timestamp fällt in die Woche von 11/01/2013 bis 17/01/2013.
Beispiel:
Fügen Sie Ihrer App ein Beispielskript hinzu und führen Sie dieses aus. Fügen Sie einem Arbeitsblatt in Ihrer App dann die Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.
In diesem Beispiel wird überprüft, ob ein Rechnungsdatum in die Woche fällt, die vom Wert von base_date um vier Wochen verschoben wurde.
TempTable:
LOAD RecNo() as InvID, * Inline [
InvDate
28/03/2012
10/12/2012
5/2/2013
31/3/2013
19/5/2013
15/9/2013
11/12/2013
2/3/2014
14/5/2014
13/6/2014
7/7/2014
4/8/2014
];
InvoiceData:
LOAD *,
InLunarWeek(InvDate, '11/01/2013', 4) AS InLWeekPlus4
Resident TempTable;
Drop table TempTable;
Die sich daraus ergebende Tabelle enthält die ursprünglichen Daten sowie eine Spalte mit dem Rückgabewert der Funktion inlunarweek().
Die Funktion liefert True für den Wert von InvDate5/2/2013, weil der Wert von base_date, 11/01/2013, um vier Wochen verschoben ist und deshalb in die Woche 5/02/2013 bis 11/02/2013 fällt.
Ergebnistabelle
InvDate
InLWeekPlus4
28/03/2012
0 (False)
10/12/2012
0 (False)
5/2/2013
-1 (True)
31/3/2013
0 (False)
19/5/2013
0 (False)
15/9/2013
0 (False)
11/12/2013
0 (False)
2/3/2014
0 (False)
14/5/2014
0 (False)
13/6/2014
0 (False)
7/7/2014
0 (False)
4/8/2014
0 (False)
Hat diese Seite Ihnen geholfen?
Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!