Questa funzione restituisce un indicatore temporale corrispondente all'inizio del primo giorno dell'anno contenente date. Il formato di output predefinito sarà il formato DateFormat impostato nello script.
In altre parole, la funzione yearstart() determina in quale anno cade la data. Quindi, restituisce data e ora, nel formato data, per il primo millisecondo di quell'anno. Il primo mese dell'anno è, per impostazione predefinita, gennaio. Tuttavia, è possibile modificare il mese da impostare come primo utilizzando l'argomento first_month_of_year nella funzione yearstart().
Casi di utilizzo
La funzione yearstart() viene utilizzata come parte di un'espressione quando si desidera che il calcolo utilizzi la frazione dell'anno trascorso fin'ora. Ad esempio, se si desidera calcolare l'interesse accumulato in un anno a oggi.
Tipo di dati restituiti: duale
Argomenti
Argomento
Descrizione
date
La data o la data e ora da valutare.
period_no
period_no è un numero intero, in cui il valore 0 indica l'anno che contiene date. I valori negativi di period_no indicano gli anni precedenti, mentre i valori positivi indicano gli anni successivi.
first_month_of_year
Se si intende utilizzare anni (fiscali) che non iniziano a gennaio, indicare un valore compreso tra 2 e 12 in first_month_of_year.
I mesi seguenti possono essere utilizzati in first_month_of_year argument:
valori first_month_of_year
Month
Value
February
2
March
3
April
4
May
5
June
6
July
7
August
8
September
9
October
10
November
11
December
12
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.
Esempi di funzioni
Esempio
Risultato
yearstart('10/19/2001')
Restituisce 01/01/2001 00:00:00.
yearstart('10/19/2001',-1)
Restituisce 01/01/2000 00:00:00.
yearstart('10/19/2001',0,4)
Restituisce 04/01/2001 00:00:00.
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 viene caricato in una tabella denominata 'Transactions'.
Il campo della data è stato fornito nel formato della variabile di sistema DateFormat (MM/DD/YYYY).
Un'istruzione di caricamento precedente che contiene quanto segue:
yearstart() funzione che è impostata come campo year_start.
La funzione Timestamp() impostata come campo year_start_timestamp.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
id
date
year_start
year_start_timestamp
Tabella dei risultati
id
date
year_start
year_start_timestamp
8188
01/13/2020
01/01/2020
1/1/2020 12:00:00 AM
8189
02/26/2020
01/01/2020
1/1/2020 12:00:00 AM
8190
03/27/2020
01/01/2020
1/1/2020 12:00:00 AM
8191
04/16/2020
01/01/2020
1/1/2020 12:00:00 AM
8192
05/21/2020
01/01/2020
1/1/2020 12:00:00 AM
8193
08/14/2020
01/01/2020
1/1/2020 12:00:00 AM
8194
10/07/2020
01/01/2020
1/1/2020 12:00:00 AM
8195
12/05/2020
01/01/2020
1/1/2020 12:00:00 AM
8196
01/22/2021
01/01/2021
1/1/2021 12:00:00 AM
8197
02/03/2021
01/01/2021
1/1/2021 12:00:00 AM
8198
03/17/2021
01/01/2021
1/1/2021 12:00:00 AM
8199
04/23/2021
01/01/2021
1/1/2021 12:00:00 AM
8200
05/04/2021
01/01/2021
1/1/2021 12:00:00 AM
8201
06/30/2021
01/01/2021
1/1/2021 12:00:00 AM
8202
07/26/2021
01/01/2021
1/1/2021 12:00:00 AM
8203
12/27/2021
01/01/2021
1/1/2021 12:00:00 AM
8204
06/06/2022
01/01/2022
1/1/2022 12:00:00 AM
8205
07/18/2022
01/01/2022
1/1/2022 12:00:00 AM
8206
11/14/2022
01/01/2022
1/1/2022 12:00:00 AM
8207
12/12/2022
01/01/2022
1/1/2022 12:00:00 AM
Il campo 'year_start' viene creato nell'istruzione di caricamento precedente mediante l'uso della funzione yearstart() e trasferendo il campo data come argomento della funzione.
La funzione yearstart() inizialmente identifica in quale anno rientra il valore della data e restituisce data e ora per il primo millisecondo di quell'anno.
La transazione 8199 è avvenuta il 23 aprile 2021. La funzione yearstart() restituisce il primo millisecondo di quell'anno, ovvero il 1 gennaio alle ore 12:00:00 AM.
Esempio 2 – period_no
Panoramica
Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.
Tuttavia, in questo esempio, l'attività consiste nel creare un campo, 'previous_year_start', che restituisce data e ora di inizio dell'anno precedente all'anno in cui ha avuto luogo la transazione.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
id
date
previous_year_start
previous_ year_start_timestamp
Tabella dei risultati
id
date
previous_year_start
previous_year_start_timestamp
8188
01/13/2020
01/01/2019
1/1/2019 12:00:00 AM
8189
02/26/2020
01/01/2019
1/1/2019 12:00:00 AM
8190
03/27/2020
01/01/2019
1/1/2019 12:00:00 AM
8191
04/16/2020
01/01/2019
1/1/2019 12:00:00 AM
8192
05/21/2020
01/01/2019
1/1/2019 12:00:00 AM
8193
08/14/2020
01/01/2019
1/1/2019 12:00:00 AM
8194
10/07/2020
01/01/2019
1/1/2019 12:00:00 AM
8195
12/05/2020
01/01/2019
1/1/2019 12:00:00 AM
8196
01/22/2021
01/01/2020
1/1/2020 12:00:00 AM
8197
02/03/2021
01/01/2020
1/1/2020 12:00:00 AM
8198
03/17/2021
01/01/2020
1/1/2020 12:00:00 AM
8199
04/23/2021
01/01/2020
1/1/2020 12:00:00 AM
8200
05/04/2021
01/01/2020
1/1/2020 12:00:00 AM
8201
06/30/2021
01/01/2020
1/1/2020 12:00:00 AM
8202
07/26/2021
01/01/2020
1/1/2020 12:00:00 AM
8203
12/27/2021
01/01/2020
1/1/2020 12:00:00 AM
8204
06/06/2022
01/01/2021
1/1/2021 12:00:00 AM
8205
07/18/2022
01/01/2021
1/1/2021 12:00:00 AM
8206
11/14/2022
01/01/2021
1/1/2021 12:00:00 AM
8207
12/12/2022
01/01/2021
1/1/2021 12:00:00 AM
In questa istanza, poiché il valore period_no di -1 viene utilizzato come argomento offset nella funzione yearstart(), la funzione per prima cosa identifica l'anno in cui avvengono le transazioni. Quindi, cerca l'anno precedente e identifica l'ultimo millisecondo di quell'anno.
La transazione 8199 è avvenuta il 23 aprile 2021. La funzione yearstart() restituisce il primo millisecondo dell'anno precedente, ovvero il 1° gennaio 2020 alle ore 12:00:00 AM, per il campo 'previous_year_start'.
Esempio 3 – first_month_of_year
Panoramica
Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.
Tuttavia, in questo esempio, la politica aziendale prevede che l'anno inizi il 1 aprile.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
id
date
year_start
year_start_timestamp
Tabella dei risultati
id
date
year_start
year_start_timestamp
8188
01/13/2020
04/01/2019
4/1/2019 12:00:00 AM
8189
02/26/2020
04/01/2019
4/1/2019 12:00:00 AM
8190
03/27/2020
04/01/2019
4/1/2019 12:00:00 AM
8191
04/16/2020
04/01/2020
4/1/2020 12:00:00 AM
8192
05/21/2020
04/01/2020
4/1/2020 12:00:00 AM
8193
08/14/2020
04/01/2020
4/1/2020 12:00:00 AM
8194
10/07/2020
04/01/2020
4/1/2020 12:00:00 AM
8195
12/05/2020
04/01/2020
4/1/2020 12:00:00 AM
8196
01/22/2021
04/01/2020
4/1/2020 12:00:00 AM
8197
02/03/2021
04/01/2020
4/1/2020 12:00:00 AM
8198
03/17/2021
04/01/2020
4/1/2020 12:00:00 AM
8199
04/23/2021
04/01/2021
4/1/2021 12:00:00 AM
8200
05/04/2021
04/01/2021
4/1/2021 12:00:00 AM
8201
06/30/2021
04/01/2021
4/1/2021 12:00:00 AM
8202
07/26/2021
04/01/2021
4/1/2021 12:00:00 AM
8203
12/27/2021
04/01/2021
4/1/2021 12:00:00 AM
8204
06/06/2022
04/01/2022
4/1/2022 12:00:00 AM
8205
07/18/2022
04/01/2022
4/1/2022 12:00:00 AM
8206
11/14/2022
04/01/2022
4/1/2022 12:00:00 AM
8207
12/12/2022
04/01/2022
4/1/2022 12:00:00 AM
In questa istanza, poiché l'argomento first_month_of_year di 4 viene utilizzato nella funzione yearstart(), imposta il primo giorno dell'anno come il 1 aprile e l'ultimo giorno dell'anno come il 31 marzo.
La transazione 8199 è avvenuta il 23 aprile 2021. Poiché la funzione yearstart() imposta l'inizio dell'anno sul 1 aprile, lo restituisce come valore 'year_start' per la transazione.
Esempio 4 – Esempio di 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. Il calcolo che restituisce data e ora della data di inizio per l'anno in cui è avvenuta una transazione viene creato come misura in un oggetto grafico dell'applicazione.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
id
date
Per calcolare in quale anno è avvenuta una transazione, creare le seguenti misure:
=yearstart(date)
=timestamp(yearstart(date))
Tabella dei risultati
id
date
=yearstart(date)
=timestamp(yearstart(date))
8188
06/06/2022
01/01/2022
1/1/2022 12:00:00 AM
8189
07/18/2022
01/01/2022
1/1/2022 12:00:00 AM
8190
11/14/2022
01/01/2022
1/1/2022 12:00:00 AM
8191
12/12/2022
01/01/2022
1/1/2022 12:00:00 AM
8192
01/22/2021
01/01/2021
1/1/2021 12:00:00 AM
8193
02/03/2021
01/01/2021
1/1/2021 12:00:00 AM
8194
03/17/2021
01/01/2021
1/1/2021 12:00:00 AM
8195
04/23/2021
01/01/2021
1/1/2021 12:00:00 AM
8196
05/04/2021
01/01/2021
1/1/2021 12:00:00 AM
8197
06/30/2021
01/01/2021
1/1/2021 12:00:00 AM
8198
07/26/2021
01/01/2021
1/1/2021 12:00:00 AM
8199
12/27/2021
01/01/2021
1/1/2021 12:00:00 AM
8200
01/13/2020
01/01/2020
1/1/2020 12:00:00 AM
8201
02/26/2020
01/01/2020
1/1/2020 12:00:00 AM
8202
03/27/2020
01/01/2020
1/1/2020 12:00:00 AM
8203
04/16/2020
01/01/2020
1/1/2020 12:00:00 AM
8204
05/21/2020
01/01/2020
1/1/2020 12:00:00 AM
8205
08/14/2020
01/01/2020
1/1/2020 12:00:00 AM
8206
10/07/2020
01/01/2020
1/1/2020 12:00:00 AM
8207
12/05/2020
01/01/2020
1/1/2020 12:00:00 AM
La misura 'start_of_year' viene creata nell'oggetto grafico mediante l'utilizzo della funzione yearstart() e trasferendo il campo data come argomento della funzione.
La funzione yearstart() inizialmente identifica in quale anno rientra il valore della data e restituisce data e ora per il primo millisecondo di quell'anno.
La transazione 8199 è avvenuta il 23 aprile 2021. La funzione yearstart() restituisce il primo millisecondo di quell'anno, ovvero il 1 gennaio alle ore 12:00:00 AM.
Esempio 5 – 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 caricato in una tabella denominata 'Loans'. La tabella contiene i seguenti campi:
Loan IDs.
Il saldo all'inizio dell'anno.
Il tasso di interesse semplice applicato su ciascun prestito ogni anno.
L'utente finale desidera un oggetto grafico che mostri, in base all'ID del prestito, gli interessi correnti che sono stati maturato per ciascun prestito nell'anno in corso.
Utilizzando la data odierna come unico argomento, la funzione yearstart() restituisce la data di inizio dell'anno corrente. Sottraendo tale risultato dalla data corrente, l'espressione restituisce il numero di giorni trascorsi fino ad ora quest'anno.
Questo valore viene quindi moltiplicato per il tasso di interesse e diviso per 365, per restituire il tasso di interesse effettivo per questo periodo. Il tasso di interesse effettivo per il periodo viene quindi moltiplicato per il saldo iniziale del prestito, per restituire gli interessi maturati finora nel corso di quest'anno.
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!