Zu Hauptinhalt springen

inlunarweektodate - Skript- und Diagrammfunktion

Diese Funktion gibt den Wert „Wahr“ an, wenn timestamp in dem Teil der Mondwoche liegt, die base_date enthält, und zwar bis einschließlich der letzten Millisekunde davon. Mondwochen werden in QlikView festgelegt, indem der 1. Januar als erster Tag der Woche gezählt wird.

Syntax:  

InLunarWeekToDate (timestamp, base_date, period_no [, first_week_day])

Rückgabedatentyp: Boolesch

Argumente:  

InLunarWeekToDate-Argumente
Argument Beschreibung
timestamp Das Datum, das mit base_date verglichen werden soll.
base_date Datum, das für die Interpretation der Mondwoche verwendet wird.
peroid_no Mit period_no kann ein anderer Beginn für die Mondwoche definiert werden. period_no ist eine ganze Zahl, wobei 0 für die Mondwoche steht, die base_date enthält. Negative Werte von period_no stehen für vorangehende, positive Werte für nachfolgende Mondwochen.
week_start Ein Startwert, der größer oder kleiner als Null sein kann. Dadurch wird der Beginn des Jahres um die angegebene Anzahl an Tagen und/oder den Bruchteil eines Tages verschoben.

Beispiel 1:  

inlunarweektodate('12/01/2013', '13/01/2013', 0)

Liefert True. Da der Wert von timestamp, 12/01/2013 in den Teil der Woche 08/01/2013 bis 13/01/2013 fällt.

Beispiel 2:  

inlunarweektodate('12/01/2013', '11/01/2013', 0)

Liefert False. Weil der Wert von timestamp nach den Wert base_date fällt, obwohl die beiden Daten in derselben Mondwoche vor 12/01/2012 liegen.

Beispiel 3:  

inlunarweektodate('12/01/2006', '05/01/2006', 1)

Liefert True. Durch die Angabe eines Werts von 1 für period_no wird base_date eine Woche nach vorne verschoben, sodass der Wert von timestamp in den Teil der Mondwoche fällt.

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 ein Rechnungsdatum in den Teil der Woche fällt, die vom Wert von base_date um vier Wochen 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 *,

InLunarWeekToDate(InvDate, '07/01/2013', 4) AS InLWeek2DPlus4

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

Die Funktion liefert True für den Wert von InvDate5/2/2013, weil der Wert von base_date, 11/01/2013, um vier Wochen verschoben ist und deshalb in den Teil der Woche 5/02/2013 bis 07/02/2013 fällt.

Beispiel 4 – Ergebnisse
InvDate InLWeek2DPlus4
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)

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