inweektodate - skript- och diagramfunktion
Denna funktion returnerar True om timestamp ligger inom den del av veckan som innehåller base_date fram till och inklusive den sista millisekunden av base_date.
Syntax:
InWeekToDate (timestamp, base_date, period_no [, first_week_day])
Typ av returdata: Boolesk
Argument:
Argument | Beskrivning |
---|---|
timestamp | Det datum du vill jämföra mot base_date. |
base_date | Datum som används för att utvärdera veckan. |
period_no | Veckans startpunkt kan flyttas med period_no. period_no är ett heltal där värdet 0 anger den vecka som innehåller base_date. Negativa värden i period_no anger föregående veckor och positiva värden anger efterföljande veckor. |
first_week_day |
Som standardinställning är veckans första dag måndag, och börjar vid midnatt mellan söndag och måndag. Om du vill att veckan ska starta en annan dag anger du den flyttade startpunkten med first_week_day. Denna kan ges som ett helt antal dagar och/eller delar av en dag. |
Exempel 1:
inweektodate ('12/01/2006', '12/01/2006', 0)
Returnerar True
Exempel 2:
inweektodate ('12/01/2006', '11/01/2006', 0)
Returnerar False
Exempel 3:
inweektodate ('12/01/2006', '18/01/2006', -1)
Returnerar False
Eftersom period_no är angett som -1, är de faktiska data som timestamp jämförs med 11/01/2006.
Exempel 4:
inweektodate ( '11/01/2006', '12/01/2006', 0, 3 )
Returnerar False
Eftersom first_week_day är angett som 3 (torsdag), vilket gör 12/01/2006 till den första dagen i veckan efter veckan som innehåller 12/01/2006.
Exempel 5:
Lägg till exempelskriptet i dokumentet och kör det. Lägg sedan till åtminstone de fält som listas i resultatkolumnen på ett ark i dokumentet för att se resultatet.
I det här exemplet undersöker vi om ett faktureringsdatum infaller under den fjärde veckan efter veckan i base_date, genom att ange period_no som 4, men innan värdet för 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;
Den resulterande tabellen innehåller de ursprungliga datumen och en kolumn med returvärdet för inweek()-funktionen.
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) |