inweektodate - script- en grafiekfunctie
Deze functie retourneert True als timestamp binnen het gedeelte van de week ligt dat base_date bevat tot en met de laatste milliseconde van base_date.
Syntaxis:
InWeekToDate (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 week wordt geëvalueerd. |
period_no | De week kan worden verschoven met period_no. period_no is een geheel getal, waarbij de waarde 0 de week aangeeft die base_date bevat. Negatieve waarden in period_no geven voorgaande weken aan en positieve waarden geven volgende weken aan. |
first_week_day |
Standaard is maandag de eerste dag van de week, te beginnen om middernacht tussen zondag en maandag. Geef aan dat de week op een andere dag begint door een verschuiving op te geven in first_week_day. Deze verschuiving kunt u opgeven als een geheel aantal dagen en/of als fracties van een dag. |
Voorbeeld 1:
inweektodate ('12/01/2006', '12/01/2006', 0)
Retourneert True
Voorbeeld 2:
inweektodate ('12/01/2006', '11/01/2006', 0)
Retourneert False
Voorbeeld 3:
inweektodate ('12/01/2006', '18/01/2006', -1)
Retourneert False
omdat period_no is opgegeven als -1, vormt timestamp de daadwerkelijke datum waartegen 11/01/2006 wordt afgezet.
Voorbeeld 4:
inweektodate ( '11/01/2006', '12/01/2006', 0, 3 )
Retourneert False
omdat first_week_day is opgegeven als 3 (donderdag), waardoor 12/01/2006 de eerste dag van de week wordt na de week die 12/01/2006 bevat.
Voorbeeld 5:
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.
In dit voorbeeld wordt gecontroleerd of een factuurdatum tijdens de vierde week na de week in base_date valt, door 4 op te geven bij period_no, maar vóór 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 *,
InWeekToDate(InvDate, '11/01/2013', 4) AS InWeek2DPlus4
Resident TempTable;
Drop table TempTable;
De resulterende tabel bevat de oorspronkelijke datums en een kolom met de retourwaarde van de functie inweek().
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) |