Ga naar hoofdinhoud

inlunarweek - script- en grafiekfunctie

Deze functie geeft waar als resulaat als timestamp binnen de maanweek valt die base_date bevat. Maanweken in QlikView worden gedefinieerd door 1 januari als eerste dag van de week te nemen.

Syntaxis:  

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

Retourgegevenstype: Booleaanse waarde

Argumenten:  

Argumenten voor InLunarWeek
Argument Beschrijving
timestamp De datum die u wilt vergelijken met base_date.
base_date Datum op basis waarvan de maanweek wordt geëvalueerd.
period_no De maanweek kan worden verschoven met period_no. period_no is een geheel getal, waarbij de waarde 0 de maanweek aangeeft die base_date bevat. Negatieve waarden in period_no geven voorafgaande maanweken aan en positieve waarden geven volgende maanweken aan.
first_week_day Een verschuiving kan groter of kleiner zijn dan nul. Hiermee wordt het begin van het jaar gewijzigd met het opgegeven aantal dagen en/of fracties van een dag.

Voorbeeld 1:  

inlunarweek('12/01/2013', '14/01/2013', 0)

Retourneert True. Omdat de waarde van timestamp, 12/01/2013 valt in de week van 08/01/2013 tot 14/01/2013.

Voorbeeld 2:  

inlunarweek('12/01/2013', '07/01/2013', 0)

Retourneert False. Omdat de base_date 07/01/2013 in de maanweek valt die is gedefinieerd als van 01/01/2013 t/m 07/01/2013.

Voorbeeld 3:  

inlunarweek('12/01/2013', '14/01/2013', -1)

Retourneert False. Omdat het opgeven van een waarde van period_no als -1 de week naar de vorige week verschuift, van 01/01/2013 naar 07/01/2013.

Voorbeeld 4:  

inlunarweek('07/01/2013', '14/01/2013', -1)

Retourneert True. In vergelijking met het voorafgaande voorbeeld ligt de tijdstempel in de week daarna als wordt rekening gehouden met de terugwaartse verschuiving.

Voorbeeld 5:  

inlunarweek('11/01/2006', '08/01/2006', 0, 3)

Retourneert False. Omdat het opgeven van een waarde van 3 voor first_week_day betekent dat de start van het jaar wordt berekend vanaf 04/01/2013, zodat de waarde van base_date in de eerste week valt en de waarde van timestamp in de week van 11/01/2013 t/m 17/01/2013.

Voorbeeld 6:  

Voeg het voorbeeldscript toe aan uw document en voer dit uit. Voeg vervolgens ten minste de velden die in de resultatenkolom staan aan een werkblad in uw document toe om het resultaat te bekijken.

Met dit voorbeeld wordt gecontroleerd of een factuurdatum in de week valt die met vier weken is verschoven vanaf de waarde van base_date.

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 *,

InLunarWeek(InvDate, '11/01/2013', 4) AS InLWeekPlus4

Resident TempTable;

Drop table TempTable;

De resulterende tabel bevat de oorspronkelijke datums en een kolom met de retourwaarde van de functie inlunarweek().

De functie retourneert True voor de waarde van InvDate5/2/2013 omdat de waarde van base_date, 11/01/2013, met vier weken is verschoven en dus in de week van 5/02/2013 t/m 11/02/2013 valt.

Resultaten voorbeeld 6
InvDate InLWeekPlus4
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)

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!

Neem deel aan het Analytics Modernization Program

Remove banner from view

Moderniseer zonder uw waardevolle QlikView-apps op het spel te zetten met het Analytics Modernization Program. Klik hier voor meer informatie of om contact op te nemen: ampquestions@qlik.com