# inweektodate - Skript- und Diagrammfunktion

Diese Funktion liefert True, wenn timestamp innerhalb des Teils der Woche liegt, die base\_date enthält, und zwar einschließlich der letzten Millisekunde von base\_date.

Syntax:

InWeekToDate (timestamp, base\_date, period\_no [, first\_week\_day])

**Rückgabedatentyp:** Boolesch

Argumente:

InWeekToDate-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:

`inweektodate ('12/01/2006', '12/01/2006',   0)`

Liefert True

Beispiel 2:

`inweektodate ('12/01/2006', '11/01/2006',   0)`

Liefert False

Beispiel 3:

`inweektodate ('12/01/2006', '18/01/2006',   -1)`

Liefert False  
Weil period\_no als -1 festgelegt wurde, wird als Gültigkeitsdatum, mit dem timestamp verglichen wird, 11/01/2006 verwendet.

Beispiel 4:

`inweektodate ( '11/01/2006', '12/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 12/01/2006 enthält.

Beispiel 5:

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 in die vierte Woche nach der Woche in base\_date fällt, indem period\_no als 4 angegeben wird, aber vor dem Wert von base\_date liegt.

`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 *,` `InWeekToDate(InvDate, '11/01/2013', 4) AS InWeek2DPlus4` `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().

Beispiel 5 – Ergebnisse

| InvDate | InWeek2DPlus4 |
| --- | --- |
| 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) |