inweek - Skript- und Diagrammfunktion
Diese Funktion liefert True, wenn timestamp innerhalb der Woche liegt, die base_date enthält.
Syntax:
InWeek (timestamp, base_date, period_no[, first_week_day])
Rückgabedatentyp: Boolesch
Argumente:
Argument | Beschreibung |
---|---|
timestamp | Das Datum, das mit base_date verglichen werden soll. |
base_date | Datum, das für die Interpretation der Woche verwendet wird. |
period_no | Die Woche kann um period_no verschoben werden. period_no ist eine ganze Zahl, wobei der Wert 0 die Woche angibt, die base_date enthält. Negative Werte in period_no stehen für vorangehende Wochen, positive Werte für nachfolgende Wochen. |
first_week_day |
Standardmäßig ist Montag der erste Wochentag, mit dem Beginn um Mitternacht zwischen Sonntag und Montag. Wenn der Wochenbeginn auf einen anderen Tag fallen soll, geben Sie dies unter first_week_day an. Die Angabe kann als Ganzzahl und/oder Bruchteil von Tagen erfolgen. |
Beispiel 1:
inweek ('12/01/2006', '14/01/2006', 0)
Liefert True
Beispiel 2:
inweek ('12/01/2006', '20/01/2006', 0 )
Liefert False
Beispiel 3:
inweek ('12/01/2006', '14/01/2006', -1 )
Liefert False
Beispiel 4:
inweek ('07/01/2006', '14/01/2006', -1)
Liefert True
Beispiel 5:
inweek ('12/01/2006', '09/01/2006', 0, 3)
Liefert False
Da first_week_day als 3 (Donnerstag) festgelegt wurde, sodass 12/01/2006 der erste Tag der Folgewoche nach der Woche ist, die 09/01/2006 enthält.
Beispiel 6:
Fügen Sie Ihrem Dokument das Beispielskript hinzu und führen Sie sie aus. Fügen Sie einem Arbeitsblatt in Ihrem Dokument dann mindestens diejenigen Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.
In diesem Beispiel wird überprüft, ob ein Rechnungsdatum auf einen beliebigen Zeitpunkt in der vierten Woche nach der Woche in base_date fällt, indem period_no als 4 angegeben wird.
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 *,
InWeek(InvDate, '11/01/2013', 4) AS InWeekPlus4
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 inweek().
Der Wert InvDate5/2/2013 fällt in die Woche, die vier Wochen nach dem base_date liegt: 11/1/2013.
InvDate | InWeekPlus4 |
---|---|
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) |