inweek - funzione dello script e del grafico
Questa funzione restituisce True se timestamp ricade all'interno della settimana contenente base_date.
Sintassi:
InWeek (timestamp, base_date, period_no[, first_week_day])
Restituisce il tipo di dati: Booleano
Argomenti:
Argomento | Descrizione |
---|---|
timestamp | La data da confrontare con base_date. |
base_date | La data utilizzata per valutare la settimana. |
period_no | La settimana può essere differita di period_no. period_no è un numero intero, in cui il valore 0 indica la settimana che contiene base_date. I valori negativi di period_no indicano le settimane precedenti, mentre i valori positivi indicano le settimane successive. |
first_week_day |
Per impostazione predefinita, il primo giorno della settimana è lunedì, con inizio alla mezzanotte tra domenica e lunedì. Per indicare un altro giorno per l'inizio della settimana, specificare un differimento in first_week_day. Tale valore può essere fornito come numero completo indicante i giorni e/o le frazioni di un giorno. |
Esempio 1:
inweek ('12/01/2006', '14/01/2006', 0)
Restituisce True
Esempio 2:
inweek ('12/01/2006', '20/01/2006', 0 )
Restituisce False
Esempio 3:
inweek ('12/01/2006', '14/01/2006', -1 )
Restituisce False
Esempio 4:
inweek ('07/01/2006', '14/01/2006', -1)
Restituisce True
Esempio 5:
inweek ('12/01/2006', '09/01/2006', 0, 3)
Restituisce False
Perché first_week_day è specificato come 3 (giovedì), che rende 12/01/2006 il primo giorno della settimana successiva alla settimana contenente 09/01/2006.
Esempio 6:
Aggiungere lo script di esempio al documento ed eseguirlo. Aggiungere quindi a un foglio del documento almeno i campi elencati nella colonna dei risultati per visualizzare il risultato.
In questo esempio viene verificato se la data di una fattura ricade in qualsiasi momento della quarta settimana dopo la settimana specificata in base_date, mediante la specifica di period_no come 4.
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 *,
InWeek(InvDate, '11/01/2013', 4) AS InWeekPlus4
Resident TempTable;
Drop table TempTable;
La tabella risultante contiene le date originali e una colonna con il valore restituito della funzione inweek().
InvDate 5/2/2013 ricade entro la settimana che viene quattro settimane dopo base_date: 11/1/2013.
InvDate | InWeekPlus4 |
---|---|
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) |