Questa funzione stabilisce se l'indicatore temporale di input ricade all'interno dell'anno in cui lo script è stato caricato per l'ultima volta e restituisce True in caso affermativo e False in caso negativo.
In Qlik Sense, il valore booleano vero è rappresentato da -1 e il valore falso è rappresentato da 0.
Se non si utilizza alcun parametro opzionale, l'anno rispetto alla data attuale sarà qualsiasi data che rientra in un anno di calendario a partire dal 1° gennaio fino all'ultima data di esecuzione dello script inclusa.
In altre parole, la funzione yeartodate(), quando viene attivata senza parametri aggiuntivi, viene utilizzata per valutare un timestamp e restituire un risultato booleano in base al fatto che la data si sia verificata nell'anno solare fino alla data di ricaricamento inclusa.
Tuttavia, è anche possibile sostituire la data di inizio dell'anno utilizzando l'argomento firstmonth, nonché fare confronti con gli anni precedenti o successivi utilizzando l'argomento yearoffset.
Infine, nei casi di insiemi di dati cronologici, la funzione yeartodate() fornisce un parametro per impostare todaydate, che confronterà invece il timestamp con l'anno solare fino alla data fornita nell'argomento todaydate.
Argomenti
Argomento
Descrizione
timestamp
Il timestamp da valutare, ad esempio '12/10/2012'.
yearoffset
Specificando un yearoffset, yeartodate restituisce True per lo stesso periodo di un altro anno. Un yearoffset negativo indica un anno precedente, mentre un differimento positivo indica un anno successivo. È possibile ottenere l'anno alla data odierna più recente specificando yearoffset = -1. Se omesso, viene utilizzato 0.
firstmonth
Se si specifica un valore firstmonth compreso tra 1 e 12 (1 se omesso), l'inizio dell'anno potrà essere spostato in avanti al primo giorno di qualsiasi mese. Se, ad esempio, si intende utilizzare un anno fiscale che inizi il 1° maggio, specificare firstmonth = 5. Il valore 1 indica un anno fiscale che inizia il 1° gennaio, mentre il valore 12 indica un anno fiscale che inizia il 1° dicembre.
todaydate
Se si specifica un valore todaydate (timestamp dell'ultima esecuzione dello script, se omesso), è possibile spostare il giorno utilizzato come limite superiore del periodo.
Casi di utilizzo
La funzione yeartodate() restituisce un risultato booleano. In genere, questo tipo di funzione viene utilizzato come condizione in un'espressione if. Questo restituisce un'aggregazione o un calcolo che dipende dal fatto che la data valutata si sia verificata nell'anno fino all'ultima data di ricaricamento dell'applicazione.
Ad esempio, la funzione YearToDate() può essere utilizzata per identificare tutte le apparecchiature prodotte fino a quel momento nell'anno corrente.
Gli esempi seguenti presuppongono che la data dell'ultimo ricaricamento sia il 18/11/2011.
Esempi di funzioni
Esempio
Risultato
yeartodate( '11/18/2010')
restituisce False
yeartodate( '02/01/2011')
restituisce True
yeartodate( '11/18/2011')
restituisce True
yeartodate( '11/19/2011')
restituisce False
yeartodate( '11/19/2011', 0, 1, '12/31/2011')
restituisce True
yeartodate( '11/18/2010', -1)
restituisce True
yeartodate( '11/18/2011', -1)
restituisce False
yeartodate( '04/30/2011', 0, 5)
restituisce False
yeartodate( '05/01/2011', 0, 5)
restituisce True
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.
Esempio 1 – Esempio di base
Panoramica
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 contenente un insieme di transazioni tra il 2020 e il 2022, caricato in una tabella denominata Transactions.
Il campo della data fornito nel formato della variabile di sistema DateFormat (MM/GG/AAAA).
La creazione di un campo, year_to_date, che determina quali transazioni sono state effettuate nell'anno solare fino alla data dell'ultimo ricaricamento.
Al momento in cui scriviamo, la data è il 26 aprile 2022.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
date
year_to_date
Tabella dei risultati
date
year_to_date
01/10/2020
0
02/28/2020
0
04/09/2020
0
04/16/2020
0
05/21/2020
0
08/14/2020
0
10/07/2020
0
12/05/2020
0
01/22/2021
0
02/03/2021
0
03/17/2021
0
04/23/2021
0
05/04/2021
0
06/30/2021
0
07/26/2021
0
12/27/2021
0
02/02/2022
-1
02/26/2022
-1
03/07/2022
-1
03/11/2022
-1
Il campo year_to_date viene creato nell'istruzione di caricamento precedente mediante l'uso della funzione yeartodate() e trasferendo il campo date come argomento della funzione.
Poiché non vengono passati altri parametri alla funzione, la funzione yeartodate()identifica inizialmente la data di ricaricamento e quindi i confini dell'anno solare in corso (a partire dal 1° gennaio) che restituirà un risultato booleano di TRUE.
Pertanto, qualsiasi transazione effettuata tra il 1° gennaio e il 26 aprile, data di ricaricamento, restituirà un risultato booleano di TRUE. Qualsiasi transazione che si verifichi prima dell'inizio del 2022 restituirà un risultato booleano di FALSE.
Esempio 2 – yearoffset
Panoramica
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.
La creazione di un campo, two_years_prior, che determina quali transazioni hanno avuto luogo due anni prima dell'anno solare in corso.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
date
two_years_prior
Tabella dei risultati
date
two_years_prior
01/10/2020
-1
02/28/2020
-1
04/09/2020
-1
04/16/2020
-1
05/21/2020
0
08/14/2020
0
10/07/2020
0
12/05/2020
0
01/22/2021
0
02/03/2021
0
03/17/2021
0
04/23/2021
0
05/04/2021
0
06/30/2021
0
07/26/2021
0
12/27/2021
0
02/02/2022
0
02/26/2022
0
03/07/2022
0
03/11/2022
0
Utilizzando -2 come argomento yearoffset della funzione yeartodate(), questa sposta i confini del segmento dell'anno solare di confronto di ben due anni. Inizialmente, il segmento di anno corrisponde a un periodo compreso tra il 1° gennaio e il 26 aprile 2022. L'argomentazione yearoffset compensa poi questo segmento con quello di due anni prima. La data limite sarà quindi compresa tra il 1° gennaio e il 26 aprile 2020.
Pertanto, qualsiasi transazione effettuata tra il 1° gennaio e il 26 aprile 2020 restituirà un risultato booleano di TRUE. Tutte le transazioni che appaiono prima o dopo questo segmento restituiranno FALSE.
Esempio 3 – firstmonth
Panoramica
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.
La creazione di un campo, year_to_date, che determina quali transazioni sono state effettuate nell'anno solare fino alla data dell'ultimo ricaricamento.
In questo esempio, abbiamo impostato l'inizio dell'anno fiscale al 1° luglio.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
date
year_to_date
Tabella dei risultati
date
year_to_date
01/10/2020
0
02/28/2020
0
04/09/2020
0
04/16/2020
0
05/21/2020
0
08/14/2020
0
10/07/2020
0
12/05/2020
0
01/22/2021
0
02/03/2021
0
03/17/2021
0
04/23/2021
0
05/04/2021
0
06/30/2021
0
07/26/2021
-1
12/27/2021
-1
02/02/2022
-1
02/26/2022
-1
03/07/2022
-1
03/11/2022
-1
In questa istanza, poiché l'argomento firstmonth di 7 viene utilizzato nella funzione yeartodate(), imposta il primo giorno dell'anno al 1° luglio e l'ultimo giorno dell'anno al 30 giugno.
Pertanto, qualsiasi transazione effettuata tra il 1° luglio 2021 e il 26 aprile 2022, data di ricaricamento, restituirà un risultato booleano di TRUE. Qualsiasi transazione effettuata prima del 1° luglio 2021 restituirà un risultato booleano di FALSE.
Esempio 4 – todaydate
Panoramica
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.
La creazione di un campo, year_to_date, che determina quali transazioni sono state effettuate nell'anno solare fino alla data dell'ultimo ricaricamento.
Tuttavia, in questo esempio, dobbiamo identificare tutte le transazioni avvenute nell'anno solare fino al 1° marzo 2022 incluso.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
date
year_to_date
Tabella dei risultati
date
year_to_date
01/10/2020
0
02/28/2020
0
04/09/2020
0
04/16/2020
0
05/21/2020
0
08/14/2020
0
10/07/2020
0
12/05/2020
0
01/22/2021
0
02/03/2021
0
03/17/2021
0
04/23/2021
0
05/04/2021
0
06/30/2021
0
07/26/2021
0
12/27/2021
0
02/02/2022
-1
02/26/2022
-1
03/07/2022
0
03/11/2022
0
In questo caso, poiché la funzione yeartodate() utilizza l'argomento todaydate di 01/03/2022, imposta il limite finale del segmento dell'anno solare di confronto al 1° marzo 2022. È fondamentale fornire il parametro firstmonth (compreso tra 1 e 12), altrimenti la funzione restituirà risultati null.
Pertanto, qualsiasi transazione che si verifichi tra il 1° gennaio 2022 e il 1° marzo 2022, con il parametro todaydate, restituirà un risultato booleano di TRUE. Qualsiasi transazione avvenuta prima del 1° gennaio 2022 o dopo il 1° marzo 2022 restituirà un risultato booleano di FALSE.
Esempio 5 – Esempio di oggetto grafico
Panoramica
Aprire l'Editor di caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene lo stesso set di dati e lo stesso scenario del primo esempio.
Tuttavia, in questo esempio, il set di dati invariato viene caricato nell'applicazione. Il calcolo che determina quali transazioni hanno avuto luogo nell'anno solare fino alla data dell'ultimo ricaricamento viene creato come misura in un oggetto grafico dell'applicazione.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione: date.
Aggiungere la misura seguente:
=yeartodate(date)
Tabella dei risultati
date
=yeartodate(date)
01/10/2020
0
02/28/2020
0
04/09/2020
0
04/16/2020
0
05/21/2020
0
08/14/2020
0
10/07/2020
0
12/05/2020
0
01/22/2021
0
02/03/2021
0
03/17/2021
0
04/23/2021
0
05/04/2021
0
06/30/2021
0
07/26/2021
0
12/27/2021
0
02/02/2022
-1
02/26/2022
-1
03/07/2022
-1
03/11/2022
-1
La misura year_to_date viene creata nell'oggetto grafico mediante l'utilizzo della funzione yeartodate() e trasferendo il campo date come argomento della funzione.
Poiché non vengono passati altri parametri alla funzione, la funzione yeartodate()identifica inizialmente la data di ricaricamento e quindi i confini dell'anno solare in corso (a partire dal 1° gennaio) che restituirà un risultato booleano di TRUE.
Qualsiasi transazione effettuata tra il 1° gennaio e il 26 aprile, data di ricaricamento, restituirà un risultato booleano di TRUE. Qualsiasi transazione che si verifichi prima dell'inizio del 2022 restituirà un risultato booleano di FALSE.
Esempio 6 – Scenario
Panoramica
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 contenente un insieme di transazioni tra il 2020 e il 2022, caricato in una tabella denominata Transactions.
Il campo della data fornito nel formato della variabile di sistema DateFormat (MM/GG/AAAA).
L'utente finale desidera un oggetto KPI che presenti le vendite totali per il periodo equivalente nel 2021 come l'anno corrente fino ad oggi, all'ultimo orario di ricaricamento.
Al momento in cui scriviamo, la data è il 16 giugno 2022.
Creare la seguente misura di aggregazione per calcolare le vendite totali:
=sum(if(yeartodate(date,-1),amount,0))
Impostare la Formattazione numero della misura su Denaro.
La funzione yeartodate() restituisce un valore booleano quando si valutano le date di ciascun ID transazione. Poiché il ricaricamento è avvenuto il 16 giugno 2022, la funzione yeartodate segmenta il periodo dell'anno tra il 01/01/2022 e il 16/06/2022. Tuttavia, poiché nella funzione period_no è stato utilizzato il valore -1, questi confini vengono spostati all'anno precedente. Pertanto, per qualsiasi transazione che si verifichi tra il 01/01/2021 e il 06/16/2021, la funzione yeartodate() restituisce un valore booleano di TRUE e somma l'importo.
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!