Zu Hauptinhalt springen

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)

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