lastworkdate - funzione dello script e del grafico
La funzione lastworkdate restituisce la data di fine più prossima per ottenere no_of_workdays (dal lunedì al venerdì) se si inizia dalla data start_date tenendo in considerazione tutte le festività holiday eventualmente in calendario. start_date e holiday devono essere date o indicatori temporali validi.
Sintassi:
lastworkdate(start_date, no_of_workdays {, holiday})
Restituisce il tipo di dati: duale
Argomenti:
Argomento | Descrizione |
---|---|
start_date | La data di inizio da valutare. |
no_of_workdays | Il numero di giorni lavorativi da raggiungere. |
holiday |
Periodi di vacanza da escludere dai giorni lavorativi. Un periodo di vacanza viene impostato come data di inizio e data di fine, separate da virgole. Esempio: '25/12/2013', '26/12/2013' È possibile escludere più periodi di vacanza, separati da virgole. Esempio: '25/12/2013', '26/12/2013', '31/12/2013', '01/01/2014' |
Esempi e risultati:
In questi esempi viene utilizzato il formato di data DD/MM/YYYY. Il formato della data viene specificato nell'istruzione SET DateFormat nella parte superiore dello script di caricamento. Modificare il formato negli esempi in base alle proprie esigenze.
Esempio 1:
lastworkdate ('19/12/2014', 9)
Restituisce '31/12/2014'
Esempio 2:
lastworkdate ('19/12/2014', 9, '2014-12-25', '2014-12-26')
Restituisce '02/01/2015 in quanto viene tenuto in considerazione un periodo di vacanza di due giorni.
Esempio 3:
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.
ProjectTable:
LOAD *, recno() as InvID INLINE [
StartDate
28/03/2014
10/12/2014
5/2/2015
31/3/2015
19/5/2015
15/9/2015
] ;
NrDays:
Load *,
LastWorkDate(StartDate,120) As EndDate
Resident ProjectTable;
Drop table ProjectTable;
La tabella risultante mostra i valori restituiti da LastWorkDate per ciascun record della tabella.
InvID | StartDate | EndDate |
---|---|---|
1 | 28/03/2014 | 11/09/2014 |
2 | 10/12/2014 | 26/05/2015 |
3 | 5/2/2015 | 27/07/2015 |
4 | 31/3/2015 | 14/09/2015 |
5 | 19/5/2015 | 02/11/2015 |
6 | 15/9/2015 | 29/02/2016 |