# weekname Funzione per script e grafici

Questa funzione restituisce un valore che mostra l'anno e il numero della settimana con un valore numerico sottostante corrispondente a un indicatore temporale recante il primo millisecondo del primo giorno della settimana contenente date.

Sintassi:

WeekName(date[, period\_no [, first\_week\_day [, broken\_weeks [, reference\_day]]]])

La funzione `weekname()` determina la settimana in cui cade la data e restituisce il numero della settimana e l'anno per quella settimana. Il primo giorno della settimana è determinato dalla variabile di sistema `FirstWeekDay`. Tuttavia, è possibile anche modificare il primo giorno della settimana utilizzando l'argomento `first_week_day` nella funzione `weekname()`.

In Qlik Sense, le impostazioni regionali vengono recuperate alla creazione dell'applicazione e le impostazioni corrispondenti vengono memorizzate nello script come variabili d'ambiente.

Uno sviluppatore di applicazioni nordamericano ottiene spesso `Set BrokenWeeks=1;` nello script, corrispondente a settimane interrotte. Uno sviluppatore di applicazioni europeo ottiene spesso `Set BrokenWeeks=0;` nello script, corrispondente a settimane intere.

Se l'applicazione utilizza settimane interrotte, il conteggio del numero di settimane inizia il 1° gennaio e termina il giorno precedente alla variabile di sistema `FirstWeekDay`, indipendentemente dal numero di giorni trascorsi.

Tuttavia, se l'applicazione utilizza settimane ininterrotte, la settimana 1 può iniziare nell'anno precedente o nei primi giorni di gennaio. Dipende da come si utilizzano le variabili di sistema `ReferenceDay` e `FirstWeekDay`.

Esempio di funzione Weekname

| Data | Nome settimana ISO | Nome settimana US |
| --- | --- | --- |
| Sab 26 dic 2020 | 2020/52 | 2020/52 |
| Dom 27 dic 2020 | 2020/52 | 2020/53 |
| Lun 28 dic 2020 | 2020/53 | 2020/53 |
| Mar 29 dic 2020 | 2020/53 | 2020/53 |
| Mer 30 dic 2020 | 2020/53 | 2020/53 |
| Gio 31 dic 2020 | 2020/53 | 2020/53 |
| Ven 1° gen 2021 | 2020/53 | 2021/01 |
| Sab 2 gen 2021 | 2020/53 | 2021/01 |
| Dom 3 gen 2021 | 2020/53 | 2021/02 |
| Lun 4 gen 2021 | 2021/01 | 2021/02 |
| Mar 5 gen 2021 | 2021/01 | 2021/02 |

Quando usare weekname

La funzione `weekname()` è utile per confrontare le aggregazioni per settimane.

Ad esempio, può essere usata se si desidera visualizzare le vendite totali dei prodotti in base alla settimana. Per mantenere la coerenza con la variabile di ambiente `BrokenWeeks` nell'applicazione, utilizzare `weekname()` anziché `lunarweekname()`. Se l'applicazione utilizza settimane ininterrotte, la settimana 1 può contenere date di dicembre dell'anno precedente o escludere date di gennaio dell'anno in corso. Se l'applicazione utilizza settimane interrotte, la settimana 1 può contenere meno di sette giorni.

Tipo di dati restituiti: duale

Argomenti

| Argomento | Descrizione |
| --- | --- |
| timestamp | La data o la data e ora da valutare. |
| period\_no | shift è un numero intero, in cui il valore 0 indica la settimana che contiene date. I valori negativi di shift indicano le settimane precedenti, mentre i valori positivi indicano le settimane successive. |
| 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/cloud-services/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/cloud-services/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/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ReferenceDay.htm). |

## 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. Per ulteriori informazioni, vedere [Modifica delle impostazioni internazionali per applicazioni e script](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Le impostazioni regionali predefinite nelle applicazioni si basano sul profilo utente. Queste impostazioni di formato regionale non riguardano la lingua visualizzata nell'interfaccia utente Qlik Cloud. Qlik Cloud verrà visualizzato nella stessa lingua del browser utilizzato.

Se si è un creatore di applicazioni, è possibile impostare la regione predefinita per le applicazioni che si creano. Per ulteriori informazioni, vedere [Regolazione delle impostazioni internazionali preferite per la creazione di app e script in Qlik Cloud Analytics](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

Gli esempi riportati di seguito presuppongono:

```
Set FirstWeekDay=0;  
Set BrokenWeeks=0;   
Set ReferenceDay=4;
```

Esempi di funzioni

| Esempio | Risultato |
| --- | --- |
| weekname('01/12/2013') | Restituisce 2013/02. |
| weekname('01/12/2013', -1) | Restituisce 2013/01. |
| weekname('01/12/2013', 0, 1) | Restituisce 2013/02. |

## Esempio 1 - Nessun argomento aggiuntivo

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekname.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 2021 e le prime due settimane del 2022 caricato in una tabella denominata '`Transactions`'.

* La variabile di sistema `DateFormat` che è impostata sul formato `MM/DD/YYYY`.

* La variabile di sistema `BrokenWeeks` che è impostata su `1`.

* La variabile di sistema `FirstWeekDay` che è impostata su `6`.

* Un'istruzione di caricamento precedente che contiene i seguenti elementi:

  * La funzione `weekday()` che è impostata come campo, '`week_number`', che restituisce il numero dell'anno e della settimana in cui sono state effettuate le transazioni.

  * La funzione `weekname()` che è impostata come campo denominato '`week_day`', per mostrare il valore del giorno della settimana di ogni data di transazione.

Script di caricamento

```

SET BrokenWeeks=1; 
SET DateFormat='MM/DD/YYYY'; 
SET FirstWeekDay=6; 

Transactions: 
   Load 
     *, 
     WeekDay(date) as week_day, 
     Weekname(date) as week_number 
     ; 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2021,58.27 
8184,12/28/2021,67.42 
8185,12/29/2021,23.80 
8186,12/30/2021,82.06 
8187,12/31/2021,40.56 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.56 
8195,01/08/2022,53.67 
8196,01/09/2022,26.63 
8197,01/10/2022,72.48 
8198,01/11/2022,18.37 
8199,01/12/2022,45.26 
8200,01/13/2022,58.23 
8201,01/14/2022,18.52 
]; 
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `id`
* `date`
* `week_day`
* `week_number`

Tabella dei risultati

| id | date | week\_day | numero\_settimana |
| --- | --- | --- | --- |
| 8183 | 12/27/2021 | Mon | 2021/53 |
| 8184 | 28/12/2021 | Tue | 2021/53 |
| 8185 | 29/12/2021 | Wed | 2021/53 |
| 8186 | 30/12/2021 | Thu | 2021/53 |
| 8187 | 12/31/2021 | Ven | 2021/53 |
| 8188 | 01/01/2022 | Sab | 2022/01 |
| 8189 | 01/02/2022 | Sun | 2022/02 |
| 8190 | 01/03/2022 | Mon | 2022/02 |
| 8191 | 01/04/2022 | Tue | 2022/02 |
| 8192 | 01/05/2022 | Wed | 2022/02 |
| 8193 | 01/06/2022 | Thu | 2022/02 |
| 8194 | 01/07/2022 | Ven | 2022/02 |
| 8195 | 08/01/2022 | Sat | 2022/02 |
| 8196 | 09/01/2022 | Sun | 2022/03 |
| 8197 | 10/01/2022 | Mon | 2022/03 |
| 8198 | 01/11/2022 | Tue | 2022/03 |
| 8199 | 12/01/2022 | Wed | 2022/03 |
| 8200 | 01/13/2022 | Thu | 2022/03 |
| 8201 | 01/14/2022 | Ven | 2022/03 |

Il campo '`week_number`' viene creato nell'istruzione di caricamento precedente mediante l'uso della funzione `weekname()` e trasferendo il campo data come argomento della funzione.

La funzione `weekname()` identifica inizialmente la settimana in cui rientra il valore della data e restituisce il conteggio del numero della settimana e l'anno in cui si verifica la transazione.

La variabile di sistema `` imposta la domenica come primo giorno della settimana.FirstWeekDay La variabile di sistema `BrokenWeeks` imposta l'applicazione in modo che utilizzi le settimane interrotte, quindi la settimana 1 inizierà il 1 gennaio.

Schema della funzione `weekname()` con le variabili predefinite.

Schema della funzione `weekname()` con le variabili predefinite.

Schema della funzione `weekname()`weekname() con le variabili predefinite. ![Diagramma che mostra come la funzione weekname() identifica il numero della settimana e l'anno in cui è avvenuta una transazione.](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example1-diagram1.png)

La settimana 1 inizia il 1 gennaio, che è un sabato, pertanto le transazioni che si verificano in questa data restituiscono il valore `2022/01` (l'anno e il numero della settimana).

Diagramma della funzione `weekname()` che identifica il numero della settimana per la transazione 8192.

Diagramma della funzione `weekname()` che identifica il numero della settimana per la transazione 8192.

Diagramma della funzione `weekname()`weekname() che identifica il numero della settimana per la transazione 8192. ![Diagramma che mostra come la funzione weekname() identifica il numero della settimana in cui è avvenuta una transazione 8192.](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example1-diagram2.png)

Poiché l'applicazione utilizza settimane interrotte e il primo giorno della settimana è la domenica, le transazioni che si verificano dal 2 all'8 gennaio restituiscono il valore `2022/02` (settimana numero 2 nel 2022). Un esempio potrebbe essere la transazione 8192 avvenuta il 5 gennaio che restituisce il valore `2022/02` per il campo '`week_number`'.

## Esempio 2 – period\_no

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

#### Script di caricamento e risultati

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_week_number`', che restituisce l'anno e il numero della settimana precedente alla data in cui sono state eseguite le transazioni.

Aprire Editor caricamento dati, quindi aggiungere il seguente script di caricamento in una nuova sezione.

Script di caricamento

```
SET BrokenWeeks=1; 
SET FirstWeekDay=6; 
						
Transactions: 
   Load 
     *, 
     weekname(date,-1) as previous_week_number 
     ; 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2021,58.27 
8184,12/28/2021,67.42 
8185,12/29/2021,23.80 
8186,12/30/2021,82.06 
8187,12/31/2021,40.56 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.56 
8195,01/08/2022,53.67 
8196,01/09/2022,26.63 
8197,01/10/2022,72.48 
8198,01/11/2022,18.37 
8199,01/12/2022,45.26 
8200,01/13/2022,58.23 
8201,01/14/2022,18.52 
]; 
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `id`
* `date`
* `week_day`
* `week_number`

Tabella dei risultati

| id | date | week\_day | numero\_settimana |
| --- | --- | --- | --- |
| 8183 | 12/27/2021 | Mon | 2021/52 |
| 8184 | 28/12/2021 | Tue | 2021/52 |
| 8185 | 29/12/2021 | Wed | 2021/52 |
| 8186 | 30/12/2021 | Thu | 2021/52 |
| 8187 | 12/31/2021 | Ven | 2021/52 |
| 8188 | 01/01/2022 | Sat | 2021/52 |
| 8189 | 01/02/2022 | Sun | 2021/53 |
| 8190 | 01/03/2022 | Mon | 2021/53 |
| 8191 | 01/04/2022 | Tue | 2021/53 |
| 8192 | 01/05/2022 | Wed | 2021/53 |
| 8193 | 01/06/2022 | Thu | 2021/53 |
| 8194 | 01/07/2022 | Ven | 2021/53 |
| 8195 | 08/01/2022 | Sat | 2022/01 |
| 8196 | 09/01/2022 | Sun | 2022/02 |
| 8197 | 10/01/2022 | Mon | 2022/02 |
| 8198 | 01/11/2022 | Tue | 2022/02 |
| 8199 | 12/01/2022 | Wed | 2022/02 |
| 8200 | 01/13/2022 | Thu | 2022/02 |
| 8201 | 01/14/2022 | Ven | 2022/02 |

Poiché il valore `period_no` di `-1` è stato utilizzato come argomento offset nella funzione `weekname()`, la funzione per prima cosa identifica la settimana in cui avvengono le transazioni. Quindi, cerca la settimana precedente e identifica il primo millisecondo di quella settimana.

Schema della funzione `weekname()` con un offset `period_no` di -1.

Schema della funzione `weekname()` con un offset `period_no` di -1.

Schema della funzione `weekname()`weekname() con un offset `period_no`period\_no di -1. ![Diagramma che mostra come il valore di offset period_no di meno uno fa sì che la funzione weekname() recuperi il numero della settimana della settimana precedente.](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example2-diagram.png)

La transazione 8192 è avvenuta il 5 gennaio 2022. La funzione `weekname()` cerca una settimana prima, il 30 dicembre 2021, e restituisce il numero della settimana e l'anno per quella data – `2021/53`.

## Esempio 3 – first\_week\_day

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

#### Script di caricamento e risultati

Panoramica

Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.

Tuttavia, in questo esempio, la politica aziendale prevede che la settimana lavorativa inizi il martedì.

Aprire Editor caricamento dati, quindi aggiungere il seguente script di caricamento in una nuova sezione.

Script di caricamento

```
SET BrokenWeeks=1; 
SET DateFormat='MM/DD/YYYY'; 

Transactions: 
   Load 
     *, 
     weekday(date) as week_day, 
     weekname(date,0,1) as week_number 
     ; 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2021,58.27 
8184,12/28/2021,67.42 
8185,12/29/2021,23.80 
8186,12/30/2021,82.06 
8187,12/31/2021,40.56 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.56 
8195,01/08/2022,53.67 
8196,01/09/2022,26.63 
8197,01/10/2022,72.48 
8198,01/11/2022,18.37 
8199,01/12/2022,45.26 
8200,01/13/2022,58.23 
8201,01/14/2022,18.52 
]; 
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `id`
* `date`
* `week_day`
* `week_number`

Tabella dei risultati

| id | date | week\_day | numero\_settimana |
| --- | --- | --- | --- |
| 8183 | 12/27/2021 | Mon | 2021/52 |
| 8184 | 28/12/2021 | Tue | 2021/53 |
| 8185 | 29/12/2021 | Wed | 2021/53 |
| 8186 | 30/12/2021 | Thu | 2021/53 |
| 8187 | 12/31/2021 | Ven | 2021/53 |
| 8188 | 01/01/2022 | Sab | 2022/01 |
| 8189 | 01/02/2022 | Sun | 2022/01 |
| 8190 | 01/03/2022 | Mon | 2022/01 |
| 8191 | 01/04/2022 | Tue | 2022/02 |
| 8192 | 01/05/2022 | Wed | 2022/02 |
| 8193 | 01/06/2022 | Thu | 2022/02 |
| 8194 | 01/07/2022 | Ven | 2022/02 |
| 8195 | 08/01/2022 | Sat | 2022/02 |
| 8196 | 09/01/2022 | Sun | 2022/02 |
| 8197 | 10/01/2022 | Mon | 2022/02 |
| 8198 | 01/11/2022 | Tue | 2022/03 |
| 8199 | 12/01/2022 | Wed | 2022/03 |
| 8200 | 01/13/2022 | Thu | 2022/03 |
| 8201 | 01/14/2022 | Ven | 2022/03 |

Schema della funzione `weekname()` con martedì come primo giorno della settimana.

Schema della funzione `weekname()` con martedì come primo giorno della settimana.

Schema della funzione `weekname()`weekname() con martedì come primo giorno della settimana. ![Diagramma che mostra come agisce la funzione weekname() quando martedì è impostato come primo giorno della settimana.](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example3-diagram1.png)

Poiché l'argomento `first_week_date` di `1` viene utilizzato nella funzione `weekname()`, il martedì viene utilizzato come primo giorno della settimana. La funzione determina quindi che la settimana 53 del 2021 è iniziata martedì 28 dicembre; e, a causa dell'utilizzo da parte dell'applicazione di settimane interrotte, la settimana 1 inizia il 1 gennaio 2022 e termina l'ultimo millisecondo di lunedì 3 gennaio 2022.

Diagramma che mostra il numero della settimana della transazione 8192 con martedì come primo giorno della settimana.

Diagramma che mostra il numero della settimana della transazione 8192 con martedì come primo giorno della settimana.

Diagramma che mostra il numero della settimana della transazione 8192 con martedì come primo giorno della settimana. ![Diagramma che mostra come l'impostazione di martedì come primo giorno della settimana fa sì che la funzione weekname() restituisca un numero di settimana diverso per la transazione 8192.](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example3-diagram2.png)

La transazione 8192 è avvenuta il 5 gennaio 2022. Pertanto, utilizzando il parametro `first_week_day` di martedì, la funzione `weekname()` restituisce il valore `2022/02` per il campo '`week_number`'.

## Esempio 4 - Esempio di oggetto grafico

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekname.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 dell'anno per la fine settimana in cui sono avvenute le transazioni viene creato come misura in un oggetto grafico dell'applicazione.

Script di caricamento

```
SET BrokenWeeks=1; 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2021,58.27 
8184,12/28/2021,67.42 
8185,12/29/2021,23.80 
8186,12/30/2021,82.06 
8187,12/31/2021,40.56 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.56 
8195,01/08/2022,53.67 
8196,01/09/2022,26.63 
8197,01/10/2022,72.48 
8198,01/11/2022,18.37 
8199,01/12/2022,45.26 
8200,01/13/2022,58.23 
8201,01/14/2022,18.52 
]; 
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* id

* date

* =week\_day (date)

Per calcolare l'inizio della settimana in cui è avvenuta una transazione, creare la seguente misura:

=weekname(date)

Tabella dei risultati

| id | date | =weekday(date) | =weekname(date) |
| --- | --- | --- | --- |
| 8183 | 12/27/2021 | Mon | 2021/53 |
| 8184 | 28/12/2021 | Tue | 2021/53 |
| 8185 | 29/12/2021 | Wed | 2021/53 |
| 8186 | 30/12/2021 | Thu | 2021/53 |
| 8187 | 12/31/2021 | Ven | 2021/53 |
| 8188 | 01/01/2022 | Sab | 2022/01 |
| 8189 | 01/02/2022 | Sun | 2022/02 |
| 8190 | 01/03/2022 | Mon | 2022/02 |
| 8191 | 01/04/2022 | Tue | 2022/02 |
| 8192 | 01/05/2022 | Wed | 2022/02 |
| 8193 | 01/06/2022 | Thu | 2022/02 |
| 8194 | 01/07/2022 | Ven | 2022/02 |
| 8195 | 08/01/2022 | Sat | 2022/02 |
| 8196 | 09/01/2022 | Sun | 2022/03 |
| 8197 | 10/01/2022 | Mon | 2022/03 |
| 8198 | 01/11/2022 | Tue | 2022/03 |
| 8199 | 12/01/2022 | Wed | 2022/03 |
| 8200 | 01/13/2022 | Thu | 2022/03 |
| 8201 | 01/14/2022 | Ven | 2022/03 |

Il campo week\_number viene creato come misura nell'oggetto grafico mediante l'utilizzo della funzione weekname() e trasferendo il campo data come argomento della funzione.

La funzione weekname() identifica inizialmente la settimana in cui rientra il valore della data e restituisce il conteggio del numero della settimana e l'anno in cui si è verificata la transazione.

La variabile di sistema imposta la domenica come primo giorno della settimana.FirstWeekDay La variabile di sistema BrokenWeeks imposta l'applicazione in modo che utilizzi le settimane interrotte, quindi la settimana 1 inizia il 1 gennaio.

Diagramma che mostra il numero della settimana con domenica come primo giorno della settimana.

Diagramma che mostra il numero della settimana con domenica come primo giorno della settimana.

Diagramma che mostra il numero della settimana con domenica come primo giorno della settimana. ![Diagramma che mostra la settimana 1 che inizia il 1 gennaio e la domenica come primo giorno della settimana.](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example4-diagram1.png)

Diagramma che mostra che la transazione 8192 ha avuto luogo nella settimana numero due.

Diagramma che mostra che la transazione 8192 ha avuto luogo nella settimana numero due.

Diagramma che mostra che la transazione 8192 ha avuto luogo nella settimana numero due. ![Diagramma che mostra che la transazione 8192 si verifica nella settimana 2.](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example4-diagram1.png)

Poiché l'applicazione utilizza settimane interrotte e il primo giorno della settimana è la domenica, le transazioni che si verificano dal 2 all'8 gennaio restituiscono il valore 2022/02, ossia la settimana numero 2 del 2022. Si noti che la transazione 8192 è avvenuta il 5 gennaio e restituisce il valore 2022/02 per il campo 'week\_number'.

## Esempio 5 – Scenario

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekname.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 2019 e le prime due settimane del 2020 caricato in una tabella denominata 'Transactions'.

* La variabile di sistema BrokenWeeks che è impostata su 0.

* La variabile di sistema ReferenceDay che è impostata su 2.

* La variabile di sistema DateFormat che è impostata sul formato MM/DD/YYYY.

Script di caricamento

```
SET BrokenWeeks=0;  
SET ReferenceDay=2;  
SET DateFormat='MM/DD/YYYY'; 

Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2019,58.27 
8184,12/28/2019,67.42 
8185,12/29/2019,23.80 
8186,12/30/2019,82.06 
8187,12/31/2019,40.56 
8188,01/01/2020,37.23 
8189,01/02/2020,17.17 
8190,01/03/2020,88.27 
8191,01/04/2020,57.42 
8192,01/05/2020,53.80 
8193,01/06/2020,82.06 
8194,01/07/2020,40.56 
8195,01/08/2020,53.67 
8196,01/09/2020,26.63 
8197,01/10/2020,72.48 
8198,01/11/2020,18.37 
8199,01/12/2020,45.26 
8200,01/13/2020,58.23 
8201,01/14/2020,18.52 
]; 
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella.

Creare una dimensione calcolata utilizzando la seguente espressione:

=weekname(date)

Per calcolare le vendite totali, creare la seguente misura di aggregazione:

=sum(amount)

Impostare la Formattazione numero della misura su Denaro.

Tabella dei risultati

| NomeSettimana(data) | sum(amount) |
| --- | --- |
| 2019/52 | $125.69 |
| 2020/01 | $346.51 |
| 2020/02 | $347.57 |
| 2020/03 | $122.01 |

Per dimostrare i risultati dell'utilizzo della funzione weekname() in questo scenario, aggiungere il campo seguente come dimensione:

date

Tabella dei risultati con campo data

| weekname(date) | date | sum(amount) |
| --- | --- | --- |
| 2019/52 | 12/27/2019 | $58.27 |
| 2019/52 | 12/28/2019 | $67.42 |
| 2020/01 | 12/29/2019 | $23.80 |
| 2020/01 | 12/30/2019 | $82.06 |
| 2020/01 | 12/31/2019 | $40.56 |
| 2020/01 | 01/01/2020 | $37.23 |
| 2020/01 | 01/02/2020 | $17.17 |
| 2020/01 | 01/03/2020 | $88.27 |
| 2020/01 | 01/04/2020 | $57.42 |
| 2020/02 | 01/05/2020 | $53.80 |
| 2020/02 | 01/06/2020 | $82.06 |
| 2020/02 | 01/07/2020 | $40.56 |
| 2020/02 | 01/08/2020 | $53.67 |
| 2020/02 | 01/09/2020 | $26.63 |
| 2020/02 | 01/10/2020 | $72.48 |
| 2020/02 | 01/11/2020 | $18.37 |
| 2020/03 | 01/12/2020 | $45.26 |
| 2020/03 | 01/13/2020 | $58.23 |
| 2020/03 | 01/14/2020 | $18.52 |

Poiché l'applicazione utilizza settimane ininterrotte e la settimana 1 richiede un minimo di due giorni a gennaio a causa della variabile di sistema ReferenceDay, la settimana 1 del 2020 include le transazioni del 29 dicembre 2019.