Zu Hauptinhalt springen

inweektodate - Skript- und Diagrammfunktion

Diese Funktion liefert True, wenn timestamp innerhalb des Teils der Woche liegt, die base_date enthält, und zwar einschließlich der letzten Millisekunde von base_date.

Syntax:  

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

Rückgabedatentyp: Boolesch

Argumente:  

InWeekToDate-Argumente
Argument Beschreibung
timestamp Das Datum, das mit base_date verglichen werden soll.
base_date Datum, das für die Interpretation der Woche verwendet wird.
period_no Die Woche kann um period_no verschoben werden. period_no ist eine ganze Zahl, wobei der Wert 0 die Woche angibt, die base_date enthält. Negative Werte in period_no stehen für vorangehende Wochen, positive Werte für nachfolgende Wochen.
first_week_day

Standardmäßig ist Montag der erste Wochentag, mit dem Beginn um Mitternacht zwischen Sonntag und Montag. Wenn der Wochenbeginn auf einen anderen Tag fallen soll, geben Sie dies unter first_week_day an. Die Angabe kann als Ganzzahl und/oder Bruchteil von Tagen erfolgen.

Beispiel 1:  

inweektodate ('12/01/2006', '12/01/2006', 0)

Liefert True

Beispiel 2:  

inweektodate ('12/01/2006', '11/01/2006', 0)

Liefert False

Beispiel 3:  

inweektodate ('12/01/2006', '18/01/2006', -1)

Liefert False
Weil period_no als -1 festgelegt wurde, wird als Gültigkeitsdatum, mit dem timestamp verglichen wird, 11/01/2006 verwendet.

Beispiel 4:  

inweektodate ( '11/01/2006', '12/01/2006', 0, 3 )

Liefert False
Da first_week_day als 3 (Donnerstag) festgelegt wurde, sodass 12/01/2006 der erste Tag der Folgewoche nach der Woche ist, die 12/01/2006 enthält.

Beispiel 5:  

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 die vierte Woche nach der Woche in base_date fällt, indem period_no als 4 angegeben wird, aber vor dem Wert von base_date 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 *,

InWeekToDate(InvDate, '11/01/2013', 4) AS InWeek2DPlus4

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

Beispiel 5 – Ergebnisse
InvDate InWeek2DPlus4
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