# weekyear - Funzione per script e grafici

Questa funzione restituisce l'anno a cui appartiene il numero della settimana in base alle variabili di ambiente. I numeri della settimana rientrano in un intervallo approssimativo compreso tra 1 e 52.

Sintassi:

weekyear(timestamp [, first\_week\_day [, broken\_weeks [, reference\_day]]])

Tipo di dati restituiti: numero intero

Argomenti

| Argomento | Descrizione |
| --- | --- |
| timestamp | La data o la data e ora da valutare. |
| first\_week\_day | Specifica il giorno di inizio della settimana. Se omesso, viene utilizzato il valore della variabile FirstWeekDay.<br><br>I valori possibili per first\_week\_day sono 0 per lunedì, 1 per martedì, 2 per mercoledì, 3 per giovedì, 4 per venerdì, 5 per sabato e 6 per domenica.<br><br>Per maggiori informazioni sulle variabili di sistema, vedere [FirstWeekDay](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm). |
| broken\_weeks | Se non si specificabroken\_weeks, il valore della variabile BrokenWeeks verrà utilizzato per definire se le settimane sono interrotte o meno.<br><br>Per maggiori informazioni sulle variabili di sistema, vedere [BrokenWeeks](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/BrokenWeeks.htm). |
| reference\_day | Se non si specificareference\_day, il valore della variabile ReferenceDay verrà utilizzato per definire quale giorno di gennaio impostare come giorno di riferimento per definire la settimana 1. Per impostazione predefinita, le funzioni Qlik Sense utilizzano 4 come giorno di riferimento. Questo significa che la settimana 1 deve contenere il 4 gennaio, vale a dire che la settimana 1 deve sempre contenere 4 quattro giorni di gennaio.<br><br>Per maggiori informazioni sulle variabili di sistema, vedere [ReferenceDay](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ReferenceDay.htm). |

La funzione `weekyear()` determina in quale settimana dell'anno cade una data. Quindi restituisce l'anno corrispondente a quel numero di settimana.

Se `BrokenWeeks` è impostato su `0` (false), `weekyear()` restituirà lo stesso come `year()`.

Schema dell'intervallo della funzione `weekyear()`

Schema dell'intervallo della funzione `weekyear()`

Schema dell'intervallo della funzione `weekyear()`weekyear() ![Schema che mostra l'intervallo di tempo valutato dalla funzione weekyear().](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-diagram1.png)

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()`.

Schema dell'intervallo della funzione `weekyear()` quando si utilizzano le settimane intere

Schema dell'intervallo della funzione `weekyear()` quando si utilizzano le settimane intere

Schema dell'intervallo della funzione `weekyear()`weekyear() quando si utilizzano le settimane intere ![Schema che mostra come funziona la funzione weekyear() con le settimane intere.](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-diagram2.png)

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',0,0,4)` | Restituisce 1997, poiché la settimana 1 del 1997 inizia il 30/12/1996 |
| `weekyear('01/02/1997',0,0,4)` | Restituisce 1997 |
| `weekyear('12/28/1997',0,0,4)` | Restituisce 1997 |
| `weekyear('12/30/1997',0,0,4)` | Restituisce il 1998, perché la settimana 1 del 1998 inizia il 29/12/1997 |
| `weekyear('01/02/1999',0,0,4)` | Restituisce il 1998, perché la settimana 53 del 1998 termina il 03/01/1999 |

Argomenti correlati

| Argomento | Interazione |
| --- | --- |
| [week - Funzione per script e grafici](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/week.htm) | Restituisce un numero intero che rappresenta il numero della settimana in base allo standard ISO 8601 |
| [year - Funzione per script e grafici](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/year.htm) | 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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.htm)

#### Script di caricamento e risultati

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

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 di caricamento 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 | settimana\_anno |
| --- | --- | --- | --- |
| 8176 | 28/12/2020 | 53 | 2020 |
| 8177 | 29/12/2020 | 53 | 2020 |
| 8178 | 30/12/2020 | 53 | 2020 |
| 8179 | 12/31/2020 | 53 | 2020 |
| 8180 | 01/01/2021 | 1 | 2021 |
| 8181 | 02/01/2021 | 1 | 2021 |
| 8182 | 03/01/2021 | 2 | 2021 |
| 8183 | 04/01/2021 | 2 | 2021 |
| 8184 | 05/01/2021 | 2 | 2021 |
| 8185 | 01/06/2021 | 2 | 2021 |
| 8186 | 01/07/2021 | 2 | 2021 |

Il campo '`week_year`' viene creato nell'istruzione di caricamento 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.

Schema dell'intervallo della funzione `weekyear()` con l'uso di settimane parziali

Schema dell'intervallo della funzione `weekyear()` con l'uso di settimane parziali

Schema dell'intervallo della funzione `weekyear()`weekyear() con l'uso di settimane parziali ![Schema che mostra che la funzione weekyear() identifica che la transazione 8181 è avvenuta nella settimana 1 e restituisce l'anno di quella settimana, il 2021.](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-examples1_and3-diagram.png)

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.htm)

#### Script di caricamento e risultati

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

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 | settimana\_anno |
| --- | --- | --- | --- |
| 8176 | 28/12/2020 | 53 | 2020 |
| 8177 | 29/12/2020 | 53 | 2020 |
| 8178 | 30/12/2020 | 53 | 2020 |
| 8179 | 12/31/2020 | 53 | 2020 |
| 8180 | 01/01/2021 | 53 | 2020 |
| 8181 | 02/01/2021 | 53 | 2020 |
| 8182 | 03/01/2021 | 1 | 2021 |
| 8183 | 04/01/2021 | 1 | 2021 |
| 8184 | 05/01/2021 | 1 | 2021 |
| 8185 | 06/01/2021 | 1 | 2021 |
| 8186 | 07/01/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.

Schema dell'intervallo della funzione `weekyear()` con l'uso di settimane intere

Schema dell'intervallo della funzione `weekyear()` con l'uso di settimane intere

Schema dell'intervallo della funzione `weekyear()`weekyear() con l'uso di settimane intere ![Schema che mostra come funziona la funzione weekyear() con settimane intere e che la settimana 53 ha giorni nel 2020 e nel 2021.](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-example2-diagram.png)

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.htm)

#### Script di caricamento ed espressione del 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.

Script di caricamento

```
SET BrokenWeeks=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 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 | settimana\_anno |
| --- | --- | --- | --- |
| 8176 | 28/12/2020 | 53 | 2020 |
| 8177 | 29/12/2020 | 53 | 2020 |
| 8178 | 30/12/2020 | 53 | 2020 |
| 8179 | 12/31/2020 | 53 | 2020 |
| 8180 | 01/01/2021 | 1 | 2021 |
| 8181 | 02/01/2021 | 1 | 2021 |
| 8182 | 03/01/2021 | 2 | 2021 |
| 8183 | 04/01/2021 | 2 | 2021 |
| 8184 | 05/01/2021 | 2 | 2021 |
| 8185 | 01/06/2021 | 2 | 2021 |
| 8186 | 01/07/2021 | 2 | 2021 |

Il campo '`week_year`' viene creato nell'istruzione di caricamento 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.

Schema dell'intervallo della funzione `weekyear()` con l'uso di settimane parziali

Schema dell'intervallo della funzione `weekyear()` con l'uso di settimane parziali

Schema dell'intervallo della funzione `weekyear()`weekyear() con l'uso di settimane parziali ![Schema che mostra che la funzione weekyear() identifica che la transazione 8181 è avvenuta nella settimana 1 e restituisce l'anno di quella settimana, il 2021.](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-examples1_and3-diagram.png)

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.htm)

#### Script di caricamento e risultati

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

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 misura Formattazione numero su Denaro.

Tabella dei risultati

| weekyear(data) | sum(amount) |
| --- | --- |
| 2020 | 19.42 |
| 2021 | 373.37 |