monthsname - Skript- und Diagrammfunktion
Diese Funktion liefert einen Anzeigewert, der den Bereich der Monate des Zeitraums (formatiert nach der MonthNames-Skriptvariable) sowie das Jahr darstellt. Der zugrunde liegende numerische Wert entspricht dem Zeitstempel der erstem Millisekunde des Zeitraums von einem Monat, zwei Monaten, einem Quartal, vier Monaten oder einem Halbjahr, in dem ein Basisdatum liegt.
Syntax:
MonthsName(n_months, date[, period_no[, first_month_of_year]])
Rückgabedatentyp: dual
Argumente:
Argument | Beschreibung |
---|---|
n_months | 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 (vier Monate) 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. |
Beispiele und Ergebnisse:
In diesen Beispielen wird das Datumsformat DD/MM/YYYY verwendet. Das Datumsformat wird im Befehl SET DateFormat oben in Ihrem Ladeskript angegeben. Ändern Sie das Format in den Beispielen nach Bedarf.
Beispiel 1:
monthsname(4, '19/10/2013')
Liefert Sep-Dec 2013.
Deshalb und aufgrund der anderen Beispiele ist der Befehl SET Monthnames auf Jan;Feb;Mar usw. festgelegt.
Beispiel 2:
monthsname(4, '19/10/2013', -1)
Liefert May-Aug 2013.
Beispiel 3:
monthsname(4, '19/10/2013', 0, 2)
Liefert Oct-Jan 2014.
Weil der Beginn des Jahres auf den Monat 2 festgelegt wurde, endet der Viermonatszeitraum im ersten Monat des Folgejahres.
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 für jedes Rechnungsdatum in der Tabelle der Monatsname aus dem Bereich der Monate in dem Zweimonatszeitraum und aus dem Jahr erstellt. Der Startwert wird um 4x2 Monate verschoben, indem period_no als 4 festgelegt 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 *,
MonthsName(2, InvDate, 4) AS MthsName
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 monthsname().
InvDate | MthsName |
---|---|
28/03/2012 | Nov-Dec 2012 |
10/12/2012 | Jul-Aug 2013 |
5/2/2013 | Sep-Oct 2013 |
31/3/2013 | Nov-Dec2013 |
19/5/2013 | Jan-Feb 2014 |
15/9/2013 | May-Jun 2014 |
11/12/2013 | Jul-Aug 2014 |
2/3/2014 | Nov-Dec 2014 |
14/5/2014 | Jan-Feb 2015 |
13/6/2014 | Jan-Feb 2015 |
7/7/2014 | Mar-Apr 2015 |
4/8/2014 | Mar-Apr 2015 |