La funzione inday() utilizza l'argomento base_timestamp per identificare il giorno in cui cade il timestamp. L'ora di inizio del giorno è, per impostazione predefinita, la mezzanotte; ma è possibile modificare l'ora di inizio del giorno utilizzando l'argomento day_start della funzione inday(). Una volta definito il giorno, la funzione restituisce risultati booleani quando si confrontano i valori dei timestamp prescritti con quel giorno.
Casi di utilizzo
La funzione inday() restituisce un risultato booleano. In genere, questo tipo di funzione viene utilizzato come condizione in un file if expression. Restituisce un'aggregazione o un calcolo che dipende dal fatto che una data valutata si sia verificata nel giorno del timestamp in questione.
Ad esempio, la funzione inday() può essere utilizzata per identificare tutte le apparecchiature prodotte in un determinato giorno.
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
Se si intende utilizzare giorni che non inizino alla 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. Per ulteriori informazioni, vedere Modifica delle impostazioni internazionali per la creazione di app e script.
Le impostazioni regionali predefinite nelle app 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.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
date
in_day
Tabella dei risultati
data
in_day
01/01/2022 7:34:46 PM
0
01/01/2022 10:10:22 PM
0
01/02/2022 8:35:54 AM
0
01/03/2022 2:21:53 PM
0
01/04/2022 6:49:38 PM
0
01/04/2022 10:58:34 PM
0
01/05/2022 5:40:49 AM
-1
01/05/2022 11:29:38 AM
-1
01/05/2022 7:04:57 PM
-1
01/06/2022 8:49:09 AM
0
Il campo in_day viene creato nell'istruzione di caricamento precedente mediante l'uso della funzione inday() e trasferendo il campo data, un timestamp con hard coding per il 5 gennaio e un period_no di 0 come argomenti della funzione.
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, l'attività viene calcolata se la data di transazione è occorsa due giorni prima del 5 gennaio.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
date
in_day
Tabella dei risultati
data
in_day
01/01/2022 7:34:46 PM
0
01/01/2022 10:10:22 PM
0
01/02/2022 8:35:54 AM
0
01/03/2022 2:21:53 PM
-1
01/04/2022 6:49:38 PM
0
01/04/2022 10:58:34 PM
0
01/05/2022 5:40:49 AM
0
01/05/2022 11:29:38 AM
0
01/05/2022 7:04:57 PM
0
01/06/2022 8:49:09 AM
0
In questa istanza, dato che un period_no di -2 è stato utilizzato come argomento offset nella funzione inday(), la funzione determina se ciascuna data di transazione è avvenuta il 3 gennaio. Ciò può essere verificato nella tabella di output in cui una transazione restituisce un risultato booleano di TRUE.
Esempio 3 – day_start
Panoramica
Lo script di caricamento utilizza lo stesso set di dati e lo stesso scenario utilizzati negli esempi precedenti.
Tuttavia, in questo esempio, la policy aziendale indica che la giornata lavorativa inizia e termina alle 7:00.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
date
in_day
Tabella dei risultati
data
in_day
01/01/2022 7:34:46 PM
0
01/01/2022 10:10:22 PM
0
01/02/2022 8:35:54 AM
0
01/03/2022 2:21:53 PM
0
01/04/2022 6:49:38 PM
-1
01/04/2022 10:58:34 PM
-1
01/05/2022 5:40:49 AM
-1
01/05/2022 11:29:38 AM
0
01/05/2022 7:04:57 PM
0
01/06/2022 8:49:09 AM
0
Dato che l'argomento start_day di 7/24, che corrisponde alle 7:00, è usato nella funzione inday(), la funzione determina se la data di ciascuna transazione è avvenuta il 4 gennaio dalle 7:00 e il 5 gennaio prima delle 7:00.
Ciò può essere verificato nella tabella di output dove le transazioni che hanno avuto luogo dopo le 7:00 il 4 gennaio restituiscono un risultato booleano di TRUE mentre le transazioni che hanno avuto luogo dopo le 7:00 il 5 gennaio restituiscono un risultato booleano di FALSE.
Esempio 4 - Oggetto grafico
Panoramica
Lo script di caricamento utilizza lo stesso set di dati e lo stesso scenario utilizzati negli esempi precedenti.
Tuttavia, in questo esempio, il set di dati è invariato e viene caricato nell'applicazione. Si calcolerà per determinare se una transazione è avvenuta il 5 gennaio 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 calcolare se una transazione è avvenuta il 5 gennaio, creare la seguente misura:
=inday(date,'01/05/2022 12:00:00 AM',0)
Tabella dei risultati
data
inday(date,'01/05/2022 12:00:00 AM',0)
01/01/2022 7:34:46 PM
0
01/01/2022 10:10:22 PM
0
01/02/2022 8:35:54 AM
0
01/03/2022 2:21:53 PM
0
01/04/2022 6:49:38 PM
0
01/04/2022 10:58:34 PM
0
01/05/2022 5:40:49 AM
-1
01/05/2022 11:29:38 AM
-1
01/05/2022 7:04:57 PM
-1
01/06/2022 8:49:09 AM
0
Esempio 5 – Scenario
Panoramica
In questo esempio, è stato identificato che, a causa di un errore delle apparecchiature, i prodotti fabbricati il 5 gennaio erano difettosi. L'utente finale desidera un oggetto grafico che visualizzi, per data, lo stato dei prodotti fabbricati "difettosi" o "senza difetti" e il costo dei prodotti fabbricati il 5 gennaio.
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
Un set di dati che viene caricato in una tabella chiamata "Prodotti".
La funzione inday() restituisce un valore booleano quando valuta le date di produzione di ciascun prodotto. Per qualsiasi prodotto fabbricato il 5 gennaio, la funzione inday() restituisce un valore booleano TRUE e contrassegna i prodotti come "difettosi". Per tutti i prodotti che restituiscono un valore FALSE, e che quindi non sono stati fabbricati in quel giorno, vengono contrassegnati come "non difettosi".
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!