inlunarweektodate - script- en grafiekfunctie
Deze functie geeft waar als resultaat als timestamp binnen het gedeelte van de maanweek ligt tot en met de laatste milliseconde van base_date. Maanweken in QlikView worden gedefinieerd door 1 januari als eerste dag van de week te nemen.
Syntaxis:
InLunarWeekToDate (timestamp, base_date, period_no [, first_week_day])
Retourgegevenstype: Booleaanse waarde
Argumenten:
Argument | Beschrijving |
---|---|
timestamp | De datum die u wilt vergelijken met base_date. |
base_date | Datum op basis waarvan de maanweek wordt geëvalueerd. |
peroid_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. |
week_start | 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:
inlunarweektodate('12/01/2013', '13/01/2013', 0)
Retourneert True. Omdat de waarde van timestamp, 12/01/2013 valt in het gedeelte van de week van 08/01/2013 tot 13/01/2013.
Voorbeeld 2:
inlunarweektodate('12/01/2013', '11/01/2013', 0)
Retourneert False. Omdat de waarde van timestamp later is dan de waarde base_date hoewel de twee datums zich in dezelfde maanweek bevinden vóór 12/01/2012.
Voorbeeld 3:
inlunarweektodate('12/01/2006', '05/01/2006', 1)
Retourneert True. Als een waarde van 1 wordt opgegeven voor period_no, wordt de base_date één week vooruit geschoven, zodat de waarde van timestamp in het deel van de maanweek valt.
Voorbeeld 4:
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 het deel van 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 *,
InLunarWeekToDate(InvDate, '07/01/2013', 4) AS InLWeek2DPlus4
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 het gedeelte van de week van 5/02/2013 t/m 07/02/2013 valt.
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) |