Questa funzione restituisce True se timestamp ricade nella parte del giorno contenente base_timestamp fino a includere il millisecondo esatto di base_timestamp.
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.
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: Booleano
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/GG/AAAA. 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 delle app 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'interfaccia utente Qlik Sense. Qlik Sense verrà visualizzato nella stessa lingua del browser utilizzato.
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.
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
data
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
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
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.
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
data
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
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
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.
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
data
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
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
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.
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
data
=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
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.
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():
Creare un'etichetta per l'oggetto KPI "Entrate correnti".
Impostare la Formattazione numero in misura 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.
Hai trovato utile questa pagina?
Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!