# 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.

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 variabileFirstWeekDay.<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><br>Per maggiori informazioni sulle variabili di sistema, vedere [FirstWeekDay](https://help.qlik.com/it-IT/sense/May2026/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><br>Per maggiori informazioni sulla variabile di sistema, vedere [BrokenWeeks](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/BrokenWeeks.htm) |
| reference\_day | Se non si specifica reference\_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 di 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><br>Per maggiori informazioni sulla variabile di sistema, vedere [ReferenceDay](https://help.qlik.com/it-IT/sense/May2026/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() ![Diagram that shows the range of time that the weekyear() function evaluates. The weekyear() identifies the year that a week number took place in.](https://help.qlik.com/it-IT/sense/May2026/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 ![Diagram that shows how the weekyear() function works with unbroken weeks. If unbroken weeks are used, the weekyear() function will return a different value than the year() function.](https://help.qlik.com/it-IT/sense/May2026/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'applicazione.

## Impostazioni locali

Se non diversamente specificato, gli esempi di questo argomento utilizzano il seguente formato di data: MM/DD/YYYY. 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 nelle applicazioni 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'Qlik Sense interfaccia utente. Qlik Sense verrà visualizzato nella stessa lingua del browser che stai utilizzando.

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/May2026/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/May2026/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)

#### Caricamento script 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 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 | Dati | settimana | settimana\_anno |
| --- | --- | --- | --- |
| 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 | 03/01/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 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 ![Diagram that shows the weekyear() function identifies that transaction 8181 took place in week 1 and returns the year of that week, 2021.](https://help.qlik.com/it-IT/sense/May2026/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)

#### Caricamento script 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 di caricamento precedente che contiene i seguenti elementi:

  * La `weekyear()` funzione, 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 | Dati | settimana | settimana\_anno |
| --- | --- | --- | --- |
| 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 | 03/01/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.

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 ![Diagram that shows how the weekyear() function works with unbroken weeks and that week 53 has days in 2020 and 2021. Transaction 8181 takes place on January 2 but the weekyear() function identifies its year as 2020 because of the unbroken weeks.](https://help.qlik.com/it-IT/sense/May2026/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)

#### Carica script 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 una misura in un grafico nell'applicazione.

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 | Dati | settimana | settimana\_anno |
| --- | --- | --- | --- |
| 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 | 03/01/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 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 ![Diagram that shows the weekyear() function identifies that transaction 8181 took place in week 1 and returns the year of that week, 2021.](https://help.qlik.com/it-IT/sense/May2026/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'applicazione 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'applicazione 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 |