Zu Hauptinhalt springen

monthsend - Skript- und Diagrammfunktion

Diese Funktion gibt einen Wert zurück, der dem Zeitstempel der letzten Millisekunde des Zeitraums von einem Monat, zwei Monaten, einem Quartal, vier Monaten oder einem Halbjahr entspricht, in dem ein Basisdatum liegt. Es lässt sich auch der Zeitstempel für einen vorhergehenden oder nachfolgenden Zeitraum bestimmen.

Syntax:  

MonthsEnd(n_months, date[, period_no [, first_month_of_year]])

Rückgabedatentyp: dual

Argumente:  

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

monthsend(4, '19/07/2013')

Liefert 31/08/2013.

Beispiel 2:  

monthsend(4, '19/10/2013', -1)

Liefert 31/08/2013.

Beispiel 3:  

monthsend(4, '19/10/2013', 0, 2)

Liefert 31/01/2014.
Weil der Start des Jahres auf den Monat 2 verschoben wird.

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 das Ende des letzten Tages 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 *,

MonthsEnd(2, InvDate, 1) AS BiMthsEnd

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 MonthsEnd().

Beispiel 4 – Ergebnisse
InvDate BiMthsEnd
28/03/2012 30/06/2012
10/12/2012 28/02/2013
5/2/2013 30/04/2013
31/3/2013 30/06/2013
19/5/2013 31/08/2013
15/9/2013 31/12/2013
11/12/2013 28/02/2014
2/3/2014 30/06/2014
14/5/2014 31/08/2014
13/6/2014 31/08/2014
7/7/2014 31/10/2014
4/8/2014 31/10/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!

Nehmen Sie am Analyse-Modernisierungsprogramm teil

Remove banner from view

Modernisieren Sie mit dem Analyse-Modernisierungsprogramm, ohne Ihre wertvollen QlikView-Apps zu gefährden. Klicken Sie hier für weitere Informationen oder kontaktieren Sie uns: ampquestions@qlik.com