# firstworkdate Funzione per script e grafici

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

Tipo di dati restituiti: numero intero

Argomenti:

Argomenti

| Argomento | Descrizione |
| --- | --- |
| end\_date | L'indicatore temporale 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. Una vacanza è definita come una stringa di data costante. È possibile specificare più periodi di vacanza, separati da virgole.<br><br>Esempio: `  '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014' ` |

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/firstworkdate.htm)

#### Esempi e risultati:

In questi esempi viene utilizzato il formato della data DD/MM/YYYY. Il formato della data viene specificato nell'istruzione SET DateFormat nella parte superiore dello script di caricamento dei dati. Modificare il formato negli esempi in base alle proprie necessità.

Esempi di script

| Esempio | Risultato |
| --- | --- |
| `firstworkdate ('29/12/2014', 9)` | Restituisce '17/12/2014. |
| `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:

Aggiungere lo script di esempio alla propria applicazione ed eseguirlo. Per visualizzare il risultato, aggiungere i campi elencati nella colonna dei risultati a un foglio nella propria applicazione.

`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 in FirstWorkDate per ciascun record della tabella.

Tabella dei risultati

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