Diese Funktion liefert den Zeitstempel der ersten Millisekunde des Monats, von zwei Monaten, einem Quartal, Tertial oder Halbjahr, in dem ein Basisdatum liegt. Es lässt sich auch der Zeitstempel für einen vorhergehenden oder nachfolgenden Zeitraum bestimmen.
Die Anzahl der Monate, die den Zeitraum definiert. Eine ganze Zahl oder eine Formel, die eine ganze Zahl mit einem der folgenden Werte ergibt: 1 (entspricht der Funktion inmonth()), 2 (zwei Monate), 3 (entspricht der Funktion inquarter()), 4 (Tertial) oder 6 (Halbjahr).
date
Das zu berechnende Datum.
period_no
Mit period_no, einer ganze Zahl oder einer Formel, die eine ganze Zahl ergibt, kann ein anderer Beginn für den Zeitraum festgelegt werden, wobei 0 für den Zeitraum steht, der base_date enthält. Negative Werte von period_no stehen für vorangehende, positive Werte für nachfolgende Zeiträume.
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.
In diesen Beispielen wird das Datumsformat DD/MM/YYYY verwendet. Das Datumsformat wird im Befehl SET DateFormat oben in Ihrem Datenladeskript angegeben. Ändern Sie das Format in den Beispielen nach Bedarf.
Skriptbeispiele
Beispiel
Ergebnis
monthsstart(4, '19/10/2013')
Liefert 1/09/2013.
monthsstart(4, '19/10/2013, -1)
Liefert 01/05/2013.
monthsstart(4, '19/10/2013', 0, 2 )
Liefert 01/10/2013. Weil der Start des Jahres auf den Monat 2 verschoben wird.
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 der erste Tag des zweimonatigen Zeitraums für jedes Rechnungsdatum ermittelt, das um einen Zeitraum von zwei Monaten nach vorne 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 *,
MonthsStart(2, InvDate, 1) AS BiMthsStart
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 MonthsStart().
Ergebnistabelle
InvDate
BiMthsStart
28/03/2012
01/05/2012
10/12/2012
01/01/2013
5/2/2013
01/03/2013
31/3/2013
01/05/2013
19/5/2013
01/07/2013
15/9/2013
01/11/2013
11/12/2013
01/01/2014
2/3/2014
01/05/2014
14/5/2014
01/07/2014
13/6/2014
01/07/2014
7/7/2014
01/09/2014
4/8/2014
01/09/2014
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!