# 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:

InWeekToDate-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.

Resultat för exempel 5

| 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) |