Questa funzione restituisce l'anno a cui appartiene il numero della settimana in base allo standard ISO 8601. I numeri della settimana rientrano in un intervallo approssimativo compreso tra 1 e 52.
Sintassi:
weekyear(expression)
Tipo di dati restituiti: numero intero
La funzione weekyear() determina in quale settimana dell'anno cade una data. Quindi restituisce l'anno corrispondente a quel numero di settimana.
Per impostazione predefinita, le app Qlik utilizzano settimane parziali (definite dalla variabile di sistema BrokenWeeks) e la settimana numero 1 inizia il 1° gennaio e l'anno finisce dopo la settimana 52. Pertanto, la funzione weekyear() restituirà sempre lo stesso valore della funzione week() quando l'applicazione utilizza le settimane parziali.
Tuttavia, se la variabile di sistema BrokenWeeks è impostata per l'utilizzo di settimane intere, la settimana 1 deve contenere solo un certo numero di giorni di gennaio, in base al valore specificato nella variabile di sistema ReferenceDay.
Ad esempio, se si utilizza un valore ReferenceDay pari a 4, la settimana 1 deve includere almeno quattro giorni di gennaio. È possibile che la settimana 1 includa date del dicembre dell'anno precedente o che il numero della settimana finale di un anno includa date del gennaio dell'anno successivo. In situazioni come questa, la funzione weekyear() restituirà un valore diverso per la funzione year().
Casi di utilizzo
La funzione weekyear() è utile quando si desidera confrontare le aggregazioni per anni. Ad esempio, può essere usata se si desidera visualizzare le vendite totali dei prodotti in base all'anno. La funzione weekyear() viene scelta rispetto a year() quando l'utente desidera mantenere la coerenza con la variabile di sistema BrokenWeeks nell'app.
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
weekyear('12/30/1996')
Restituisce 1997, poiché la settimana 1 del 1997 inizia il 30/12/1996
weekyear('01/02/1997')
Restituisce 1997
weekyear('12/28/1997')
Restituisce 1997
weekyear('12/30/1997')
Restituisce il 1998, perché la settimana 1 del 1998 inizia il 29/12/1997
weekyear('01/02/1999')
Restituisce il 1998, perché la settimana 53 del 1998 termina il 03/01/1999
Restituisce un numero intero che rappresenta l'anno in cui l'espressione viene interpretata come data in base all'interpretazione numerica standard.
Esempio 1 - Settimane parziali
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 per l'ultima settimana del 2020 e la prima settimana del 2021 che viene caricato in una tabella chiamata 'Transactions'.
La variabile di sistema BrokenWeeks che è impostata su 1.
Un'istruzione LOAD precedente che contiene i seguenti elementi:
La funzione weekyear(), impostata come campo 'week_year', che restituisce l'anno in cui sono avvenute le transazioni.
La funzione week(), impostata come campo 'week', che mostra il numero di settimana di ogni data di transazione.
Script di caricamento
SET BrokenWeeks=1;
Transactions:
Load
*,
week(date) as week,
weekyear(date) as week_year
;
Load
*
Inline
[
id,date,amount
8176,12/28/2020,19.42
8177,12/29/2020,23.80
8178,12/30/2020,82.06
8179,12/31/2020,40.56
8180,01/01/2021,37.23
8181,01/02/2021,17.17
8182,01/03/2021,88.27
8183,01/04/2021,57.42
8184,01/05/2021,67.42
8185,01/06/2021,23.80
8186,01/07/2021,82.06
];
Risultati
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
id
date
week
week_year
Tabella dei risultati
id
date
settimana
week_year
8176
12/28/2020
53
2020
8177
12/29/2020
53
2020
8178
12/30/2020
53
2020
8179
12/31/2020
53
2020
8180
01/01/2021
1
2021
8181
01/02/2021
1
2021
8182
01/03/2021
2
2021
8183
01/04/2021
2
2021
8184
01/05/2021
2
2021
8185
01/06/2021
2
2021
8186
01/07/2021
2
2021
Il campo 'week_year' viene creato nell'istruzione LOAD precedente mediante l'uso della funzione weekyear() e trasferendo il campo data come argomento della funzione.
La variabile di sistema BrokenWeeks è impostata su 1, il che significa che l'app utilizza settimane parziali. La settimana 1 inizia il 1° gennaio.
La transazione 8181 ha luogo il 2 gennaio, che fa parte della settimana 1. Pertanto, restituisce un valore di 2021 per il campo 'week_year'.
Esempio 2 - Settimane intere
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 per l'ultima settimana del 2020 e la prima settimana del 2021 che viene caricato in una tabella chiamata 'Transactions'.
La variabile di sistema BrokenWeeks che è impostata su 0.
Un'istruzione LOAD precedente che contiene i seguenti elementi:
La funzione weekyear(), impostata come campo 'week_year', che restituisce l'anno in cui sono avvenute le transazioni.
La funzione week(), impostata come campo 'week', che mostra il numero di settimana di ogni data di transazione.
Tuttavia, in questo esempio, la politica aziendale prevede l'utilizzo di settimane intere.
Script di caricamento
SET BrokenWeeks=0;
Transactions:
Load
*,
week(date) as week,
weekyear(date) as week_year
;
Load
*
Inline
[
id,date,amount
8176,12/28/2020,19.42
8177,12/29/2020,23.80
8178,12/30/2020,82.06
8179,12/31/2020,40.56
8180,01/01/2021,37.23
8181,01/02/2021,17.17
8182,01/03/2021,88.27
8183,01/04/2021,57.42
8184,01/05/2021,67.42
8185,01/06/2021,23.80
8186,01/07/2021,82.06
];
Risultati
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
id
date
week
week_year
Tabella dei risultati
id
date
settimana
week_year
8176
12/28/2020
53
2020
8177
12/29/2020
53
2020
8178
12/30/2020
53
2020
8179
12/31/2020
53
2020
8180
01/01/2021
53
2020
8181
01/02/2021
53
2020
8182
01/03/2021
1
2021
8183
01/04/2021
1
2021
8184
01/05/2021
1
2021
8185
01/06/2021
1
2021
8186
01/07/2021
1
2021
La variabile di sistema BrokenWeeks è impostata su 0, il che significa che l'applicazione utilizza settimane intere. Pertanto, non è necessario che la settimana 1 inizi il 1° gennaio.
La settimana 53 del 2020 continua fino alla fine del 2 gennaio 2021, mentre la settimana 1 del 2020 inizia domenica 3 gennaio 2021.
La transazione 8181 ha luogo il 2 gennaio, che fa parte della settimana 1. Pertanto, restituisce un valore di 2021 per il campo 'week_year'.
Esempio 3 - 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 il numero della settimana dell'anno in cui sono avvenute le transazioni viene creato come misura in un grafico dell'app.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
id
date
Per calcolare la settimana in cui avviene una transazione, creare la seguente misura:
=week(date)
Per calcolare l'anno in cui avviene una transazione in base al numero della settimana, creare la seguente misura:
=weekyear(date)
Tabella dei risultati
id
date
settimana
week_year
8176
12/28/2020
53
2020
8177
12/29/2020
53
2020
8178
12/30/2020
53
2020
8179
12/31/2020
53
2020
8180
01/01/2021
1
2021
8181
01/02/2021
1
2021
8182
01/03/2021
2
2021
8183
01/04/2021
2
2021
8184
01/05/2021
2
2021
8185
01/06/2021
2
2021
8186
01/07/2021
2
2021
Il campo 'week_year' viene creato nell'istruzione LOAD precedente mediante l'uso della funzione weekyear() e trasferendo il campo data come argomento della funzione.
La variabile di sistema BrokenWeeks è impostata su 1, il che significa che l'applicazione utilizza settimane parziali. La settimana 1 inizia il 1° gennaio.
La transazione 8181 ha luogo il 2 gennaio, che fa parte della settimana 1. Pertanto, restituisce un valore di 2021 per il campo 'week_year'.
Esempio 4 - 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 per l'ultima settimana del 2020 e la prima settimana del 2021 che viene caricato in una tabella chiamata 'Transactions'.
La variabile di sistema BrokenWeeks che è impostata su 0. Ciò significa che l'app utilizzerà settimane intere.
La variabile di sistema ReferenceDay che è impostata su 2. Ciò significa che l'anno inizierà il 2 gennaio e conterrà un minimo di due giorni a gennaio.
La variabile di sistema FirstWeekDay che è impostata su 1. Ciò significa che il primo giorno della settimana sarà il martedì.
La politica aziendale prevede l'utilizzo di settimane parziali. L'utente finale desidera un grafico che presenti le vendite totali per anno. L'app utilizza settimane intere, con la settimana 1 che contiene un minimo di due giorni a gennaio.
Script di caricamento
SET BrokenWeeks=0;
SET ReferenceDay=2;
SET FirstWeekDay=1;
Transactions:
Load
*
Inline
[
id,date,amount
8176,12/28/2020,19.42
8177,12/29/2020,23.80
8178,12/30/2020,82.06
8179,12/31/2020,40.56
8180,01/01/2021,37.23
8181,01/02/2021,17.17
8182,01/03/2021,88.27
8183,01/04/2021,57.42
8184,01/05/2021,67.42
8185,01/06/2021,23.80
8186,01/07/2021,82.06
];
Risultati
Caricare i dati e aprire un foglio. Creare una nuova tabella.
Per calcolare l'anno in cui avviene una transazione in base al numero della settimana, creare la seguente misura:
=weekyear(date)
Per calcolare le vendite totali, creare la seguente misura:
sum(amount)
Impostare la Formattazione numero della misura su Denaro.
Tabella dei risultati
weekyear(date)
=sum(amount)
2020
19.42
2021
373.37
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!