# indaytotime Funzione per script e grafici

Questa funzione restituisce True se timestamp ricade nella parte del giorno contenente base\_timestamp fino a includere il millisecondo esatto di base\_timestamp.

Sintassi:

InDayToTime (timestamp, base\_timestamp, period\_no[, day\_start])

La funzione `indaytotime()` restituisce un risultato booleano a seconda di quando si verifica un valore di timestamp durante il segmento del giorno. Il limite iniziale di questo segmento è l'inizio del giorno, che per impostazione predefinita è la mezzanotte; l'inizio del giorno può essere modificato dall'argomento `day_start` della funzione `indaytotime()`. Il limite finale del segmento giornaliero è determinato da un argomento `base_timestamp` della funzione.

Schema della funzione `indaytotime`.

Schema della funzione `indaytotime`.

Schema della funzione `indaytotime`indaytotime. ![Schema che mostra le relazioni tra le variabili della funzione indaytotime.](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-diagram-overview.png)

Casi di utilizzo

La funzione `indaytotime()` restituisce un risultato booleano. In genere, questo tipo di funzione viene utilizzato come condizione in un file `if expression`. La funzione `indaytotime()` restituisce un'aggregazione o un calcolo a seconda che un timestamp si sia verificato nel segmento del giorno fino al momento del timestamp di base incluso.

Ad esempio, la funzione `indaytotime()` può essere utilizzata per mostrare la somma delle vendite di biglietti per gli spettacoli che hanno avuto luogo fino ad oggi.

Tipo di dati restituiti: Boolean

In Qlik Sense, il valore booleano vero è rappresentato da -1 e il valore falso è rappresentato da 0.

Argomenti

| Argomento | Descrizione |
| --- | --- |
| ` timestamp  ` | La data e l'ora che si desidera confrontare con `base_timestamp`. |
| ` base_timestamp  ` | La data e l'ora utilizzate per valutare l'indicatore temporale. |
| ` period_no  ` | Il giorno può essere differito mediante `period_no`. `period_no` è un numero intero, in cui il valore 0 indica il giorno che contiene `base_timestamp`. I valori negativi di `period_no` indicano i giorni precedenti, mentre i valori positivi indicano i giorni successivi. |
| ` day_start  ` | (Facoltativo) Se si intende utilizzare giorni che non inizino a mezzanotte, indicare un differimento come frazione di un giorno in `day_start`, ad esempio 0,125 per indicare le 3 del mattino. |

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

Le impostazioni regionali predefinite nelle applicazioni si basano sulle impostazioni regionali del sistema del computer o del server in cui risulta installato Qlik Sense. Se il server Qlik Sense a cui si accede è impostato in Svezia, l'editor caricamento dati utilizzerà le impostazioni regionali svedesi per date, ora e valuta. Queste impostazioni di formato regionale non riguardano la lingua visualizzata nell'Qlik Sense interfaccia utente. Qlik Sense verrà visualizzato nella stessa lingua del browser che stai utilizzando.

Esempi di funzioni

| Esempio | Risultato |
| --- | --- |
| `indaytotime` ('01/12/2006 12:23:00 PM', '01/12/2006 11:59:00 PM', 0) | Restituisce True |
| `indaytotime` ('01/12/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', 0) | Restituisce False |
| `indaytotime` '01/11/2006 12:23:00 PM', '01/12/2006 11:59:00 PM', -1) | Restituisce True |

## Esempio 1 - nessun argomento aggiuntivo

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/indaytotime.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 una serie di transazioni per il periodo tra il 4 e il 5 gennaio viene caricato in una tabella chiamata "Transazioni".

* Un campo data fornito nel formato `TimeStamp` della variabile di sistema `(M/D/YYYY h:mm:ss[.fff] TT)`.

* Un caricamento precedente che contiene la funzione `indaytotime()` impostata come `'in_day_to_time'`, che determina se ciascuna delle transazioni avviene prima delle 9:00 del mattino.

Script di caricamento

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

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM',0) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Risultati

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

* `date`

* `in_day_to_time`

Tabella dei risultati

| date | in\_day\_to\_time |
| --- | --- |
| 01/04/2022 3:41:54 AM | 0 |
| 01/04/2022 4:19:43 AM | 0 |
| 01/04/2022 04:53:47 AM | 0 |
| 01/04/2022 8:38:53 AM | 0 |
| 01/04/2022 10:37:52 AM | 0 |
| 01/04/2022 1:54:10 PM | 0 |
| 01/04/2022 5:53:23 PM | 0 |
| 01/04/2022 8:13:26 PM | 0 |
| 01/04/2022 10:00:49 PM | 0 |
| 01/05/2022 7:45:37 AM | -1 |
| 01/05/2022 8:44:36 AM | -1 |
| 01/05/2022 11:26:08 AM | 0 |
| 01/05/2022 6:43:08 PM | 0 |
| 01/05/2022 10:54:10 PM | 0 |
| 01/05/2022 11:09:09 PM | 0 |

Schema 1 di esempio della funzione `indaytotime` con il limite delle 9:00 AM.

Schema 1 di esempio della funzione `indaytotime` con il limite delle 9:00 AM.

Schema 1 di esempio della funzione `indaytotime`indaytotime con il limite delle 9:00 AM. ![Schema che mostra la funzione indaytotime() con un limite delle 9:00.](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example1-diagram.png)

`in_day_to_time field` creato nell'istruzione di caricamento precedente mediante l'uso della funzione `indaytotime()` e trasferendo il campo data, un timestamp con hard coding per il 5 gennaio alle 9:00 e un offset di 0 come argomenti della funzione. Qualsiasi transazione che si verifichi tra la mezzanotte e le 9:00 del 5 gennaio restituisce TRUE.

## Esempio 2 – period\_no

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

#### Script di caricamento e risultati

Panoramica

Lo script di caricamento utilizza lo stesso set di dati e lo stesso scenario utilizzati nel primo esempio.

Tuttavia, in questo esempio, verrà calcolato se la data di transazione è occorsa un giorno prima delle 9:00 del 5 gennaio.

Script di caricamento

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

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM', -1) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Risultati

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

* `date`

* `in_day_to_time`

Tabella dei risultati

| date | in\_day\_to\_time |
| --- | --- |
| 01/04/2022 3:41:54 AM | -1 |
| 01/04/2022 4:19:43 AM | -1 |
| 01/04/2022 04:53:47 AM | -1 |
| 01/04/2022 8:38:53 AM | -1 |
| 01/04/2022 10:37:52 AM | 0 |
| 01/04/2022 1:54:10 PM | 0 |
| 01/04/2022 5:53:23 PM | 0 |
| 01/04/2022 8:13:26 PM | 0 |
| 01/04/2022 10:00:49 PM | 0 |
| 01/05/2022 7:45:37 AM | 0 |
| 01/05/2022 8:44:36 AM | 0 |
| 01/05/2022 11:26:08 AM | 0 |
| 01/05/2022 6:43:08 PM | 0 |
| 01/05/2022 10:54:10 PM | 0 |
| 01/05/2022 11:09:09 PM | 0 |

Schema esempio 2 della funzione `indaytotime` con transazioni dal 4 gennaio.

Schema esempio 2 della funzione `indaytotime` con transazioni dal 4 gennaio.

Schema esempio 2 della funzione `indaytotime`indaytotime con transazioni dal 4 gennaio. ![Schema che mostra la funzione indaytotime () che utilizza un period_no di -1 per restituire le transazioni dal 4 gennaio.](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example2-diagram.png)

In questo esempio, dato che un offset di -1 è stato utilizzato come argomento di offset nella funzione `indaytotime()`, la funzione determina se ciascuna data di transazione ha avuto luogo prima delle 9:00 del 4 gennaio. Ciò è verificabile nella tabella di output dove una transazione restituisce un risultato booleano di TRUE.

## Esempio 3 – day\_start

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

#### Script di caricamento e risultati

Panoramica

Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.

Tuttavia, in questo esempio, la policy aziendale indica che la giornata lavorativa inizia e termina alle 8:00.

Script di caricamento

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

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM', 0,8/24) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Risultati

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

* `date`

* `in_day_to_time`

Tabella dei risultati

| date | in\_day\_to\_time |
| --- | --- |
| 01/04/2022 3:41:54 AM | 0 |
| 01/04/2022 4:19:43 AM | 0 |
| 01/04/2022 04:53:47 AM | 0 |
| 01/04/2022 8:38:53 AM | 0 |
| 01/04/2022 10:37:52 AM | 0 |
| 01/04/2022 1:54:10 PM | 0 |
| 01/04/2022 5:53:23 PM | 0 |
| 01/04/2022 8:13:26 PM | 0 |
| 01/04/2022 10:00:49 PM | 0 |
| 01/05/2022 7:45:37 AM | 0 |
| 01/05/2022 8:44:36 AM | -1 |
| 01/05/2022 11:26:08 AM | 0 |
| 01/05/2022 6:43:08 PM | 0 |
| 01/05/2022 10:54:10 PM | 0 |
| 01/05/2022 11:09:09 PM | 0 |

Schema esempio 3 della funzione `indaytotime` con transazioni dalle 8:00 alle 9:00.

Schema esempio 3 della funzione `indaytotime` con transazioni dalle 8:00 alle 9:00.

Schema esempio 3 della funzione `indaytotime`indaytotime con transazioni dalle 8:00 alle 9:00. ![Schema che mostra la funzione indaytotime () con le transazioni dalle 8:00 alle 9:00.](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example3-diagram.png)

Poiché nella funzione `indaytotime()` viene utilizzato l'argomento `start_day` 8/24, che equivale alle 8:00 del mattino, ogni giorno inizia e finisce alle 8:00 del mattino. Pertanto, la funzione `indaytotime()` restituirà un risultato booleano di TRUE per qualsiasi transazione avvenuta tra le 8:00 e le 9:00 del 5 gennaio.

## Esempio 4 - Oggetto grafico

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

#### Script di caricamento ed espressione del grafico

Panoramica

Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.

Tuttavia, in questo esempio, il set di dati è invariato e viene caricato nell'applicazione. Calcolare per determinare se una transazione avviene il 5 gennaio prima delle 9:00 creando una misura in un oggetto grafico.

Script di caricamento

```

Transactions:
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Risultati

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

`date`.

Per determinare se una transazione è avvenuta il 5 gennaio prima delle 9:00, creare la seguente misura:

`=indaytotime(date,'01/05/2022 9:00:00 AM',0)`

Tabella dei risultati

| date | =indaytotime(date,'01/05/2022 9:00:00 AM',0) |
| --- | --- |
| 01/04/2022 3:41:54 AM | 0 |
| 01/04/2022 4:19:43 AM | 0 |
| 01/04/2022 04:53:47 AM | 0 |
| 01/04/2022 8:38:53 AM | 0 |
| 01/04/2022 10:37:52 AM | 0 |
| 01/04/2022 1:54:10 PM | 0 |
| 01/04/2022 5:53:23 PM | 0 |
| 01/04/2022 8:13:26 PM | 0 |
| 01/04/2022 10:00:49 PM | 0 |
| 01/05/2022 7:45:37 AM | -1 |
| 01/05/2022 8:44:36 AM | -1 |
| 01/05/2022 11:26:08 AM | 0 |
| 01/05/2022 6:43:08 PM | 0 |
| 01/05/2022 10:54:10 PM | 0 |
| 01/05/2022 11:09:09 PM | 0 |

La misura `in_day_to_time` viene creata nell'oggetto grafico utilizzando la funzione `indaytotime()` e passando come argomenti della funzione il campo data, un timestamp codificato per le 9:00 del 5 gennaio e un offset di `0`. Qualsiasi transazione che si verifichi tra la mezzanotte e le 9:00 del 5 gennaio restituisce TRUE. Questo viene convalidato nella tabella dei risultati.

## Esempio 5 – Scenario

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

#### Script di caricamento e risultati

Panoramica

In questo esempio, un set di dati contenente le vendite di biglietti di un cinema locale viene caricato in una tabella chiamata Ticket\_Sales. Oggi è il 3 maggio 2022 e sono le 11:00 del mattino.

L'utente desidera un oggetto grafico KPI che mostri i ricavi di tutti gli spettacoli che si sono svolti oggi.

Script di caricamento

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

Ticket_Sales:
Load
*
Inline 
[
sale ID, show time, ticket price
1,05/01/2022 09:30:00 AM,10.50
2,05/03/2022 05:30:00 PM,21.00
3,05/03/2022 09:30:00 AM,10.50
4,05/03/2022 09:30:00 AM,31.50
5,05/03/2022 09:30:00 AM,10.50
6,05/03/2022 12:00:00 PM,42.00
7,05/03/2022 12:00:00 PM,10.50
8,05/03/2022 05:30:00 PM,42.00
9,05/03/2022 08:00:00 PM,31.50
10,05/04/2022 10:30:00 AM,31.50
11,05/04/2022 12:00:00 PM,10.50
12,05/04/2022 05:30:00 PM,10.50
13,05/05/2022 05:30:00 PM,21.00
14,05/06/2022 12:00:00 PM,21.00
15,05/07/2022 09:30:00 AM,42.00
16,05/07/2022 10:30:00 AM,42.00
17,05/07/2022 10:30:00 AM,10.50
18,05/07/2022 05:30:00 PM,10.50
19,05/08/2022 05:30:00 PM,21.00
20,05/11/2022 09:30:00 AM,10.50
];
```

Risultati

Procedere come segue:

1. Creare un oggetto KPI.

2. Creare una misura che mostri la somma di tutte le vendite di biglietti per gli spettacoli che si sono svolti oggi fino ad ora, utilizzando la funzione indaytotime():

=sum(if(indaytotime([show time],'05/03/2022 11:00:00 AM',0),[ticket price],0))

1. Creare un'etichetta per l'oggetto KPI "Entrate correnti".

2. Impostare la misura Formattazione numero su Denaro.

Il totale delle vendite dei biglietti fino alle 11:00 del 3 maggio 2022 è di 52,50 dollari.

La funzione indaytotime () restituisce un valore booleano quando si confrontano gli orari degli spettacoli di ciascuna vendita di biglietti con l'ora corrente ('05/03/2022 11:00:00 AM'). Per qualsiasi spettacolo del 3 maggio prima delle 11:00, la funzione indaytotime () restituisce il valore booleano TRUE e il prezzo del biglietto sarà incluso nella somma totale.