firstworkdate - funzione dello script e del grafico
La funzione firstworkdate restituisce la data di inizio più recente per fare in modo che il valore no_of_workdays (dal lunedì al venerdì) non termini oltre la data end_date, tenendo in considerazione tutte le festività eventualmente in calendario. end_date e holiday devono essere date o indicatori temporali validi.
Sintassi:
firstworkdate(end_date, no_of_workdays [, holiday] )
Restituisce il tipo di dati: numero intero
Argomenti:
Argomento | Descrizione |
---|---|
end_date | L'indicazione di data e ora della data di fine 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:
firstworkdate ('29/12/2014', 9)
Restituisce '17/12/2014.
Esempio 2:
firstworkdate ('29/12/2014', 9, '25/12/2014', '26/12/2014')
Restituisce 15/12/2014 perché viene considerato 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 [
EndDate
28/03/2015
10/12/2015
5/2/2016
31/3/2016
19/5/2016
15/9/2016
] ;
NrDays:
Load *,
FirstWorkDate(EndDate,120) As StartDate
Resident ProjectTable;
Drop table ProjectTable;
La tabella risultante mostra i valori restituiti da FirstWorkDate per ciascun record della tabella.
InvID | EndDate | StartDate |
---|---|---|
1 | 28/03/2015 | 13/10/2014 |
2 | 10/12/2015 | 26/06/2015 |
3 | 5/2/2016 | 24/08/2015 |
4 | 31/3/2016 | 16/10/2015 |
5 | 19/5/2016 | 04/12/2015 |
6 | 15/9/2016 | 01/04/2016 |