# inyeartodate - Skript- und Diagrammfunktion

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

Syntax:

InYearToDate (timestamp, base\_date, period\_no[, first\_month\_of\_year])

**Rückgabedatentyp:** Boolesch

Argumente:

InYearToDate-Argumente

| Argument | Beschreibung |
| --- | --- |
| timestamp | Das Datum, das mit base\_date verglichen werden soll. |
| base\_date | Datum, das für die Interpretation des Jahres verwendet wird. |
| period\_no | Das Jahr kann um period\_no verschoben werden. period\_no ist eine ganze Zahl, wobei der Wert 0 das Jahr angibt, das base\_date enthält. Negative Werte von period\_no stehen für vorangehende, positive Werte für nachfolgende Jahre. |
| first\_month\_of\_year | Wenn Sie mit abweichenden Geschäftsjahren arbeiten möchten, definieren Sie mit einer Zahl zwischen 2 und 12 für first\_month\_of\_year einen anderen Startmonat. |

Beispiel 1:

`inyeartodate ('2013/01/25', '2013/02/01',   0)`

Liefert True

Beispiel 2:

`inyeartodate ('2012/01/25', '2013/01/01',   0)`

Liefert False

Beispiel 3:

`inyeartodate ('2012/01/25', '2013/02/01',   -1)`

Liefert True

Beispiel 4:

`inyeartodate ('2012/11/25', '2013/01/31',   0, 4)`

Liefert True  
Der Wert von timestamp fällt in das Geschäftsjahr, das im vierten Monat beginnt, und vor den Wert von base\_date.

Beispiel 5:

`inyeartodate ( '2013/3/31', '2013/01/31',   0, 4 )`

Liefert False  
Im Vergleich zum vorherigen Beispiel liegt der Wert von timestamp noch im Geschäftsjahr, aber nach dem Wert von base\_date und deshalb außerhalb des Teils des Jahres.

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 das Rechnungsdatum in ein Geschäftsjahr fällt, das durch die Angabe des Wertes von first\_month\_of\_year als 4 bestimmt wird, und im Teil des Jahres vor dem Ende des 31/01/2013 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 *,` `InYearToDate(InvDate, '31/01/2013', 0, 4) AS FinYr2Date` `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 inyeartodate().

Beispiel 6 – Ergebnisse

| InvDate | FinYr2Date |
| --- | --- |
| 28/03/2012 | 0 (False) |
| 10/12/2012 | -1 (True) |
| 5/2/2013 | 0 (False) |
| 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) |