inquartertodate - Skript- und Diagrammfunktion
Diese Funktion liefert True, wenn timestamp innerhalb des Teils des Quartals liegt, das base_date enthält, und zwar einschließlich der letzten Millisekunde von base_date.
Syntax:
InQuarterToDate (timestamp, base_date, period_no [, first_month_of_year])
Rückgabedatentyp: Boolesch
Argumente:
Argument | Beschreibung |
---|---|
timestamp | Das Datum, das mit base_date verglichen werden soll. |
base_date | Datum, das für die Interpretation des Quartals verwendet wird. |
period_no |
Das Quartal kann um period_no verschoben werden. period_no ist eine ganze Zahl, wobei der Wert 0 das Quartal angibt, das base_date enthält. Negative Werte von period_no stehen für vorangehende, positive Werte für nachfolgende Quartale. |
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:
inquartertodate ('25/01/2013', '25/01/2013', 0)
Liefert True
Beispiel 2:
inquartertodate ('25/01/2013', '24/01/2013', 0)
Liefert False
Beispiel 3:
inquartertodate ('25/01/2012', '01/02/2013', -1)
Liefert False
Beispiel 4:
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 vierten Quartal vor dem Ende des 28/02/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 *,
InQuarterToDate(InvDate, '28/02/2013', 0, 4) AS Qtr42Date
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 inquartertodate().
InvDate | Qtr42Date |
---|---|
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) |