# dayend Funzione per script e grafici

Questa funzione restituisce un valore corrispondente a un indicatore temporale dell'ultimo millisecondo del giorno contenuto in time. Il formato di output predefinito sarà il formato TimestampFormat impostato nello script.

Sintassi:

DayEnd(time[, [period\_no[, day\_start]])

Quando usare dayend

La funzione `  dayend() ` viene comunemente utilizzata come parte di un'espressione quando l'utente desidera che il calcolo utilizzi la frazione di giorno non ancora trascorsa. Ad esempio, per calcolare il totale delle spese ancora da sostenere durante la giornata.

Tipo di dati restituiti: duale

Argomenti

| Argomento | Descrizione |
| --- | --- |
| time | L'indicatore temporale da valutare. |
| period\_no | period\_no è un numero intero o un'espressione la cui risoluzione è un numero intero, in cui il valore 0 indica il giorno che contiene il valore time. I valori negativi di period\_no indicano i giorni precedenti, mentre i valori positivi indicano i giorni successivi. |
| day\_start | Per specificare che i giorni non iniziano a mezzanotte, indicare un differimento come frazione di un giorno in day\_start. Ad esempio, 0.125 per denotare 3:00 AM.<br><br>In altre parole, per creare l'offset dividere l'ora di inizio per 24 ore. Ad esempio, per un giorno che inizia alle 7:00 del mattino, utilizzare la frazione 7/24. |

## Impostazioni locali

Se non diversamente specificato, gli esempi di questo argomento utilizzano il seguente formato di data: MM/DD/YYYY. Il formato della data viene specificato nell'istruzione `SET DateFormat` nello script di caricamento dei dati. La formattazione predefinita della data potrebbe essere diversa nel proprio sistema, a causa delle impostazioni regionali e di altri fattori. È possibile modificare i formati degli esempi seguenti in base alle proprie esigenze. In alternativa, è possibile modificare i formati nel proprio script di caricamento per adattarli a questi esempi. Per ulteriori informazioni, vedere [Modifica delle impostazioni internazionali per applicazioni e script](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Le impostazioni regionali predefinite nelle applicazioni si basano sul profilo utente. Queste impostazioni di formato regionale non riguardano la lingua visualizzata nell'interfaccia utente Qlik Cloud. Qlik Cloud verrà visualizzato nella stessa lingua del browser utilizzato.

Se si è un creatore di applicazioni, è possibile impostare la regione predefinita per le applicazioni che si creano. Per ulteriori informazioni, vedere [Regolazione delle impostazioni internazionali preferite per la creazione di app e script in Qlik Cloud Analytics](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

Esempi di funzioni

| Esempio | Risultato |
| --- | --- |
| dayend('01/25/2013 16:45:00') | Restituisce: 01/24/2013 23:59:59. PM |
| dayend('01/25/2013 16:45:00', -1) | Restituisce 01/24/2013 23:59:59. PM |
| dayend('01/25/2013 16:45:00', 0, 0.5) | Restituisce: 01/26/2013 11:59:59. PM |

## Esempio 1 - Script base

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

#### Script di caricamento e risultati

Panoramica

Aprire Editor caricamento dati, quindi aggiungere lo script di caricamento in basso in una nuova scheda.

Lo script di caricamento contiene:

* Un set di dati contenente un elenco di date viene caricato in una tabella denominata "Calendario".

* La variabile di sistema `DateFormat` predefinita `(MM/DD/YYYY)`.

* Un caricamento precedente per creare un campo aggiuntivo, denominato '`EOD_timestamp`', mediante la funzione `dayend()`.

Script di caricamento

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT'; 

Calendar: 
    Load 
      date, 
      dayend(date) as EOD_timestamp 
      ; 
Load 
date 
Inline  
[ 
date 
03/11/2022 1:47:15 AM 
03/12/2022 4:34:58 AM 
03/13/2022 5:15:55 AM 
03/14/2022 9:25:14 AM 
03/15/2022 10:06:54 AM 
03/16/2022 10:44:42 AM 
03/17/2022 11:33:30 AM 
03/18/2022 12:58:14 PM 
03/19/2022 4:23:12 PM 
03/20/2022 6:42:15 PM 
03/21/2022 7:41:16 PM 
]; 
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `date`

* `EOD_timestamp`

Tabella dei risultati

| date | EOD\_timestamp |
| --- | --- |
| 03/11/2022 1:47:15 AM | 3/11/2022 11:59:59 PM |
| 03/12/2022 4:34:58 AM | 3/12/2022 11:59:59 PM |
| 03/13/2022 5:15:55 AM | 3/13/2022 11:59:59 PM |
| 03/14/2022 9:25:14 AM | 3/14/2022 11:59:59 PM |
| 03/15/2022 10:06:54 AM | 3/15/2022 11:59:59 PM |
| 03/16/2022 10:44:42 AM | 3/16/2022 11:59:59 PM |
| 03/17/2022 11:33:30 AM | 3/17/2022 11:59:59 PM |
| 03/18/2022 12:58:14 PM | 3/18/2022 11:59:59 PM |
| 03/19/2022 4:23:12 PM | 3/19/2022 11:59:59 PM |
| 03/20/2022 6:42:15 PM | 3/20/2022 11:59:59 PM |
| 03/21/2022 7:41:16 PM | 3/21/2022 11:59:59 PM |

Come indicato nella tabella sopra, la fine del timestamp giorno viene generata per ciascuna data nel nostro set di dati. Il timestamp è nel formato della variabile di sistema `TimestampFormat M/D/YYYY h:mm:ss[.fff] TT`.

## Esempio 2 – period\_no

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

#### Script di caricamento e risultati

Panoramica

Aprire Editor caricamento dati, quindi aggiungere lo script di caricamento in basso in una nuova scheda.

Si caricherà un set di dati contenente le prenotazioni di servizio in una tabella denominata 'Servizi'.

Il set di dati include i seguenti campi:

* `service_id`

* `service_date`

* `amount`

Si creeranno due nuovi campi nella tabella:

* `deposit_due_date`: la data in cui si dovrebbe ricevere il deposito. Questa è la fine del giorno tre giorni prima del `service_date`.

* `final_payment_due_date`: la data in cui si dovrebbe ricevere il pagamento finale. Questa è la fine del giorno sette giorni dopo il `service_date`.

I due campi sopra sono creati in un caricamento precedente mediante la funzione `dayend()` e possono fornire i primi due parametri, `time` e `period_no`.

Script di caricamento

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT'; 
						
Services: 
   Load 
     *, 
     dayend(service_date,-3) as deposit_due_date, 
     dayend(service_date,7) as final_payment_due_date 
     ; 
Load 
service_id, 
service_date, 
amount 
Inline  
[ 
service_id, service_date,amount
1,03/11/2022 9:25:14 AM,231.24 
2,03/12/2022 10:06:54 AM,567.28 
3,03/13/2022 10:44:42 AM,364.28 
4,03/14/2022 11:33:30 AM,575.76 
5,03/15/2022 12:58:14 PM,638.68 
6,03/16/2022 4:23:12 PM,785.38 
7,03/17/2022 6:42:15 PM,967.46 
8,03/18/2022 7:41:16 PM,287.67 
9,03/19/2022 8:14:15 PM,764.45 
10,03/20/2022 9:23:51 PM,875.43 
11,03/21/2022 10:04:41 PM,957.35 
]; 
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `service_date`

* `deposit_due_date`

* `final_payment_due_date`

Tabella dei risultati

| service\_date | deposit\_due\_date | final\_payment\_due\_date |
| --- | --- | --- |
| 03/11/2022 9:25:14 AM | 3/8/2022 11:59:59 PM | 3/18/2022 11:59:59 PM |
| 03/12/2022 10:06:54 AM | 3/9/2022 11:59:59 PM | 3/19/2022 11:59:59 PM |
| 03/13/2022 10:44:42 AM | 3/10/2022 11:59:59 PM | 3/20/2022 11:59:59 PM |
| 03/14/2022 11:33:30 AM | 3/11/2022 11:59:59 PM | 3/21/2022 11:59:59 PM |
| 03/15/2022 12:58:14 PM | 3/12/2022 11:59:59 PM | 3/22/2022 11:59:59 PM |
| 03/16/2022 4:23:12 PM | 3/13/2022 11:59:59 PM | 3/23/2022 11:59:59 PM |
| 03/17/2022 6:42:15 PM | 3/14/2022 11:59:59 PM | 3/24/2022 11:59:59 PM |
| 03/18/2022 7:41:16 PM | 3/15/2022 11:59:59 PM | 3/25/2022 11:59:59 PM |
| 03/19/2022 8:14:15 PM | 3/16/2022 11:59:59 PM | 3/26/2022 11:59:59 PM |
| 03/20/2022 9:23:51 PM | 3/17/2022 11:59:59 PM | 3/27/2022 11:59:59 PM |
| 03/21/2022 10:04:41 PM | 3/18/2022 11:59:59 PM | 3/28/2022 11:59:59 PM |

I valori dei nuovi campi sono in `TimestampFormat M/D/YYYY h:mm:ss[.fff] TT`. Essendo stata usata la funzione `dayend()`, i valori data e ora sono tutti all'ultimo millisecondo del giorno.

I valori della data di scadenza del deposito sono tre giorni prima della data del servizio perché il secondo argomento passato nella funzione `dayend()` è negativo.

I valori della data di scadenza del pagamento finale sono sette giorni dopo la data del servizio perché il secondo argomento passato nella funzione `dayend()` è positivo.

## Esempio 3 – day\_start script

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

#### Script di caricamento e risultati

Panoramica

Aprire Editor caricamento dati, quindi aggiungere lo script di caricamento in basso in una nuova scheda.

Il set di dati e lo scenario utilizzati in questo esempio sono gli stessi dell'esempio precedente.

Come nell'esempio precedente, si creeranno due nuovi campi:

* `deposit_due_date`: la data in cui si dovrebbe ricevere il deposito. Questa è la fine del giorno tre giorni prima del `service_date`.

* `final_payment_due_date`: la data in cui si dovrebbe ricevere il pagamento finale. Questa è la fine del giorno sette giorni dopo il `service_date`.

Tuttavia, la propria azienda desidera operare in base a una policy in cui il giorno lavorativo inizia alle 17:00 e termina alle 17:00 del giorno successivo. La propria azienda può quindi monitorare le transazioni che si verificano in tali ore di lavoro.

Per ottenere questi requisiti, i due campi sopra vengono creati in un caricamento precedente usando la funzione `dayend()` e impiegando tutti e tre gli argomenti, `time`, `period_no` e `day_start`.

Script di caricamento

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT'; 

Services: 
   Load 
     *, 
     dayend(service_date,-3,17/24) as deposit_due_date, 
     dayend(service_date,7,17/24) as final_payment_due_date 
     ; 
Load 
service_id, 
service_date, 
amount 
Inline  
[ 
service_id, service_date,amount 
1,03/11/2022 9:25:14 AM,231.24 
2,03/12/2022 10:06:54 AM,567.28 
3,03/13/2022 10:44:42 AM,364.28 
4,03/14/2022 11:33:30 AM,575.76 
5,03/15/2022 12:58:14 PM,638.68 
6,03/16/2022 4:23:12 PM,785.38 
7,03/17/2022 6:42:15 PM,967.46 
8,03/18/2022 7:41:16 PM,287.67 
9,03/19/2022 8:14:15 PM,764.45 
10,03/20/2022 9:23:51 PM,875.43 
11,03/21/2022 10:04:41 PM,957.35 
]; 
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `service_date`

* `deposit_due_date`

* `final_payment_due_date`

Tabella dei risultati

| service\_date | deposit\_due\_date | final\_payment\_due\_date |
| --- | --- | --- |
| 03/11/2022 9:25:14 AM | 3/8/2022 4:59:59 PM | 3/18/2022 4:59:59 PM |
| 03/12/2022 10:06:54 AM | 3/9/2022 4:59:59 PM | 3/19/2022 4:59:59 PM |
| 03/13/2022 10:44:42 AM | 3/10/2022 4:59:59 PM | 3/20/2022 4:59:59 PM |
| 03/14/2022 11:33:30 AM | 3/11/2022 4:59:59 PM | 3/21/2022 4:59:59 PM |
| 03/15/2022 12:58:14 PM | 3/12/2022 4:59:59 PM | 3/22/2022 4:59:59 PM |
| 03/16/2022 4:23:12 PM | 3/13/2022 4:59:59 PM | 3/23/2022 4:59:59 PM |
| 03/17/2022 6:42:15 PM | 3/14/2022 4:59:59 PM | 3/24/2022 4:59:59 PM |
| 03/18/2022 7:41:16 PM | 3/15/2022 4:59:59 PM | 3/25/2022 4:59:59 PM |
| 03/19/2022 8:14:15 PM | 3/16/2022 4:59:59 PM | 3/26/2022 4:59:59 PM |
| 03/20/2022 9:23:51 PM | 3/17/2022 4:59:59 PM | 3/27/2022 4:59:59 PM |
| 03/21/2022 10:04:41 PM | 3/18/2022 4:59:59 PM | 3/28/2022 4:59:59 PM |

Mentre le date rimangono le stesse dell'Esempio 2, le date ora hanno un timestamp dell'ultimo millisecondo prima delle 17:00 a causa del fatto che il valore del terzo argomento, `day_start`, trasferito nella funzione `dayend()`, è 17/24.

## Esempio 4 - Esempio grafico

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

#### Script di caricamento ed espressione del grafico

Panoramica

Aprire Editor caricamento dati, quindi aggiungere lo script di caricamento in basso in una nuova scheda.

Il set di dati e lo scenario utilizzati in questo esempio corrispondono a quelli dei due esempi precedenti. La propria azienda desidera operare in base a una policy in cui il giorno lavorativo inizia alle 17:00 e termina alle 17:00 del giorno successivo.

Come nell'esempio precedente, si creeranno due nuovi campi:

* deposit\_due\_date: la data in cui si dovrebbe ricevere il deposito. Questa è la fine del giorno tre giorni prima del service\_date.

* final\_payment\_due\_date: la data in cui si dovrebbe ricevere il pagamento finale. Questa è la fine del giorno sette giorni dopo il service\_date.

Script di caricamento

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT'; 

Services: 
Load 
service_id, 
service_date, 
amount 
Inline  
[ 
service_id, service_date,amount 
1,03/11/2022 9:25:14 AM,231.24 
2,03/12/2022 10:06:54 AM,567.28 
3,03/13/2022 10:44:42 AM,364.28 
4,03/14/2022 11:33:30 AM,575.76 
5,03/15/2022 12:58:14 PM,638.68 
6,03/16/2022 4:23:12 PM,785.38 
7,03/17/2022 6:42:15 PM,967.46 
8,03/18/2022 7:41:16 PM,287.67 
9,03/19/2022 8:14:15 PM,764.45 
10,03/20/2022 9:23:51 PM,875.43 
11,03/21/2022 10:04:41 PM,957.35 
]; 
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione:

service\_date.

Per creare il campo deposit\_due\_date, creare questa misura:

=dayend(service\_date,-3,17/24).

Quindi, per creare il campo final\_payment\_due\_date, creare questa misura:

=dayend(service\_date,7,17/24).

Tabella dei risultati

| service\_date | =dayend(service\_date,-3,17/24) | =dayend(service\_date,7,17/24 |
| --- | --- | --- |
| 03/11/2022 | 3/8/2022 16:59:59 PM | 3/18/2022 16:59:59 PM |
| 03/12/2022 | 3/9/2022 16:59:59 PM | 3/19/2022 16:59:59 PM |
| 03/13/2022 | 3/10/2022 16:59:59 PM | 3/20/2022 16:59:59 PM |
| 03/14/2022 | 3/11/2022 16:59:59 PM | 3/21/2022 16:59:59 PM |
| 03/15/2022 | 3/12/2022 16:59:59 PM | 3/22/2022 16:59:59 PM |
| 03/16/2022 | 3/13/2022 16:59:59 PM | 3/23/2022 16:59:59 PM |
| 03/17/2022 | 3/14/2022 16:59:59 PM | 3/24/2022 16:59:59 PM |
| 03/18/2022 | 3/15/2022 16:59:59 PM | 3/25/2022 16:59:59 PM |
| 03/19/2022 | 3/16/2022 16:59:59 PM | 3/26/2022 16:59:59 PM |
| 03/20/2022 | 3/17/2022 16:59:59 PM | 3/27/2022 16:59:59 PM |
| 03/21/2022 | 3/18/2022 16:59:59 PM | 3/28/2022 16:59:59 PM |

I valori dei nuovi campi sono in TimestampFormat M/D/YYYY h:mm:ss[.fff] TT. Essendo stata usata la funzione dayend(), i valori data e ora sono tutti all'ultimo millisecondo del giorno.

I valori della data di pagamento del deposito sono tre giorni prima della data del servizio perché il secondo argomento passato nella funzione dayend() è negativo.

I valori della data di scadenza del pagamento finale sono sette giorni dopo la data del servizio perché il secondo argomento passato nella funzione dayend() è positivo.

Le date hanno un timestamp dell'ultimo millisecondo prima delle 17:00 a causa del fatto che il valore del terzo argomento, day\_start, trasferito nella funzione dayend(), è 17/24.

## Ulteriori informazioni

* [Caricamento di dati da una tabella caricata in precedenza](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/load-data-from-previously-loaded-table.htm)

Argomenti

| Argomento | Descrizione |
| --- | --- |
| time | L'indicatore temporale da valutare. |
| period\_no | period\_no è un numero intero o un'espressione la cui risoluzione è un numero intero, in cui il valore 0 indica il giorno che contiene il valore time. I valori negativi di period\_no indicano i giorni precedenti, mentre i valori positivi indicano i giorni successivi. |
| day\_start | Per specificare che i giorni non iniziano a mezzanotte, indicare un differimento come frazione di un giorno in day\_start. Ad esempio, 0.125 per denotare 3:00 AM. |