# weekday - funzione dello script e del grafico

Questa funzione restituisce un valore duale con:

* Il nome di un giorno come definito nella variabile di ambiente DayNames.
* Un numero intero compreso tra 0 e 6 che corrisponde al giorno nominale della settimana (0-6).

Sintassi:

weekday(date [,first\_week\_day=0])

Tipo di dati restituiti: duale

La funzione `weekday()` determina il giorno della settimana in cui si verifica una data. Restituisce quindi un valore stringa che rappresenta quel giorno.

Schema della funzione `weekday()` che restituisce il nome del giorno in cui cade una data

Schema della funzione `weekday()` che restituisce il nome del giorno in cui cade una data

Schema della funzione `weekday()`weekday() che restituisce il nome del giorno in cui cade una data ![Schema che mostra la funzione weekday() che restituisce il nome del giorno in cui cade una data.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-diagram1.png)

Il risultato restituisce il valore numerico corrispondente a quel giorno della settimana (0-6), in base al giorno di inizio della settimana. Ad esempio, se il primo giorno della settimana è impostato su domenica, un mercoledì restituirà un valore numerico di `3`. Il giorno di inizio è determinato dalla variabile di sistema `FirstWeekDay` o dal parametro della funzione `first_week_day`.

È possibile utilizzare il valore di questo numero come parte di un'espressione aritmetica. Ad esempio, moltiplicarlo per `1` per restituire il valore stesso.

Schema della funzione `weekday()` con il valore numerico del giorno visualizzato al posto del nome del giorno

Schema della funzione `weekday()` con il valore numerico del giorno visualizzato al posto del nome del giorno

Schema della funzione `weekday()`weekday() con il valore numerico del giorno visualizzato al posto del nome del giorno ![Lo schema mostra che la funzione weekday() può restituire un valore numerico che corrisponde al giorno identificato.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-diagram2.png)

Casi di utilizzo

La funzione `weekday()` è utile quando si desidera confrontare le aggregazioni per giorno della settimana. Ad esempio, se si desidera confrontare le vendite medie dei prodotti per giorno della settimana.

Queste dimensioni possono essere create nello script di caricamento utilizzando la funzione per creare un campo in una tabella del Calendario principale, oppure essere create direttamente in un grafico come misura calcolata.

Argomenti correlati

| Argomenti | Interazione |
| --- | --- |
| [FirstWeekDay](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) | Definisce il giorno di inizio di ogni settimana. |

| <ul> </ul> |
| --- |

Argomenti

| Argomento | Descrizione |
| --- | --- |
| date | 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>[FirstWeekDay](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) |

È possibile utilizzare i seguenti valori per impostare il giorno in cui inizia la settimana nell'argomento `first_week_day`:

valori first\_week\_day

| Giorno | Valore |
| --- | --- |
| Lunedì | 0 |
| Martedì | 1 |
| Mercoledì | 2 |
| Giovedì | 3 |
| Venerdì | 4 |
| Sabato | 5 |
| Domenica | 6 |

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

Nota informaticaSalvo ove indicato diversamente, `FirstWeekDay` è impostato su `0` in questi esempi.

Esempi di funzioni

| Esempio | Risultato |
| --- | --- |
| `weekday('10/12/1971')` | Restituisce 'Tue' e 1. |
| `weekday('10/12/1971' , 6)` | Restituisce 'Tue' e 2.<br><br>In questo esempio, domenica (`6`) è il primo giorno della settimana. |
| `SET FirstWeekDay=6;`<br><br>`...`<br><br>`weekday('10/12/1971')` | Restituisce 'Tue' e 2. |

## Esempio 1 - Stringa Weekday

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekday.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 il 2022, caricato in una tabella denominata '`Transactions`'.

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

* La variabile `DayNames` che è impostata per utilizzare i nomi dei giorni predefiniti.

* Un caricamento precedente che contiene la funzione `weekday()`, impostata come campo '`week_day`', e che restituisce il giorno della settimana in cui sono avvenute le transazioni.

Script di caricamento

```
SET DateFormat='MM/DD/YYYY'; 
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 
SET FirstWeekDay=6; 
 
Transactions: 
    Load 
       *, 
       WeekDay(date) as week_day 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
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.39 
]; 
```

Risultati

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

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

Tabella dei risultati

| id | data | week\_day |
| --- | --- | --- |
| 8188 | 01/01/2022 | Sat |
| 8189 | 01/02/2022 | Sun |
| 8190 | 01/03/2022 | Mon |
| 8191 | 01/04/2022 | Tue |
| 8192 | 01/05/2022 | Wed |
| 8193 | 01/06/2022 | Thu |
| 8194 | 01/07/2022 | Ven |

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

La funzione `weekday()` restituisce il valore della stringa del giorno della settimana, ovvero il nome del giorno della settimana impostato dalla variabile di sistema `DayNames`.

Schema della funzione `weekday()` che restituisce mercoledì come giorno della settimana per la transazione 8192

Schema della funzione `weekday()` che restituisce mercoledì come giorno della settimana per la transazione 8192

Schema della funzione `weekday()`weekday() che restituisce mercoledì come giorno della settimana per la transazione 8192 ![Lo schema mostra che la funzione weekday() restituisce mercoledì come giorno della settimana per la transazione 8192.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-examples1_and3-diagram.png)

La transazione 8192 è avvenuta il 5 gennaio. La variabile di sistema `FirstWeekDay` imposta il primo giorno della settimana come domenica. La transazione della funzione `weekday()` ha avuto luogo un mercoledì e restituisce questo valore, nella forma abbreviata della variabile di sistema `DayNames`, nel campo `week_day`.

I valori del campo '`week_day`' sono allineati a destra nella colonna perché per il campo esiste un doppio risultato di numero e testo (mercoledì, 3). Per convertire il valore del campo nel suo equivalente numerico, il campo può essere avvolto all'interno della funzione `num()`. Ad esempio, nella transazione 8192, il valore del mercoledì verrà convertito nel numero 3.

## Esempio 2 - first\_week\_day

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekday.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 il 2022, caricato in una tabella denominata '`Transactions`'.

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

* La variabile `DayNames` che è impostata per utilizzare i nomi dei giorni predefiniti.

* Un caricamento precedente che contiene la funzione `weekday()`, impostata come campo '`week_day`', e che restituisce il giorno della settimana in cui sono avvenute le transazioni.

Script di caricamento

```
SET DateFormat='MM/DD/YYYY'; 
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 
SET FirstWeekDay=6; 
 
Transactions: 
    Load 
       *, 
       WeekDay(date,1) as week_day 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
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.39 
]; 
```

Risultati

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

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

Tabella dei risultati

| id | data | week\_day |
| --- | --- | --- |
| 8188 | 01/01/2022 | Sat |
| 8189 | 01/02/2022 | Sun |
| 8190 | 01/03/2022 | Mon |
| 8191 | 01/04/2022 | Tue |
| 8192 | 01/05/2022 | Wed |
| 8193 | 01/06/2022 | Thu |
| 8194 | 01/07/2022 | Ven |

Schema della funzione `weekday()` che mostra che mercoledì ha il valore numerico duale di 1

Schema della funzione `weekday()` che mostra che mercoledì ha il valore numerico duale di 1

Schema della funzione `weekday()`weekday() che mostra che mercoledì ha il valore numerico duale di 1 ![Schema che mostra che il 5 gennaio 2022 cade di mercoledì e che il mercoledì ha valore numerico 1, perché il primo giorno della settimana è impostato come martedì.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-example2-diagram.png)

Poiché l'argomento `first_week_day` è impostato su `1` nella funzione `weekday()`, il primo giorno della settimana è martedì. Pertanto, tutte le transazioni che avvengono di martedì avranno un valore numerico doppio di `0`.

La transazione 8192 è avvenuta il 5 gennaio. La funzione `weekday()` identifica che si tratta di un mercoledì e quindi l'espressione restituisce il valore numerico doppio di `1`.

## Esempio 3 - Esempio di oggetto grafico

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

#### Script di caricamento ed espressione del grafico

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 il 2022, caricato in una tabella denominata '`Transactions`'.

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

* La variabile `DayNames` che è impostata per utilizzare i nomi dei giorni predefiniti.

Tuttavia, in questo esempio, il set di dati è invariato e viene caricato nell'applicazione. Il calcolo che identifica il valore del giorno della settimana viene creato come misura in un grafico dell'app.

Script di caricamento

```
SET DateFormat='MM/DD/YYYY'; 
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 
SET FirstWeekDay=6; 
 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
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.39 
]; 
```

Risultati

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

* `id`
* `date`

Per calcolare il valore dei giorni feriali, creare la seguente misura:

* `=weekday(date)`

Tabella dei risultati

| id | data | =weekday(date) |
| --- | --- | --- |
| 8188 | 01/01/2022 | Sat |
| 8189 | 01/02/2022 | Sun |
| 8190 | 01/03/2022 | Mon |
| 8191 | 01/04/2022 | Tue |
| 8192 | 01/05/2022 | Wed |
| 8193 | 01/06/2022 | Thu |
| 8194 | 01/07/2022 | Ven |

Il campo '`=weekday(date)`' viene creato nel grafico mediante l'utilizzo della funzione `weekday()` e trasferendo il campo data come argomento della funzione.

La funzione `weekday()` restituisce il valore della stringa del giorno della settimana, ovvero il nome del giorno della settimana impostato dalla variabile di sistema `DayNames`.

Schema della funzione `weekday()` che restituisce mercoledì come giorno della settimana per la transazione 8192

Schema della funzione `weekday()` che restituisce mercoledì come giorno della settimana per la transazione 8192

Schema della funzione `weekday()`weekday() che restituisce mercoledì come giorno della settimana per la transazione 8192 ![Lo schema mostra che la funzione weekday() restituisce mercoledì come giorno della settimana per la transazione 8192.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-examples1_and3-diagram.png)

La transazione 8192 è avvenuta il 5 gennaio. La variabile di sistema `FirstWeekDay` imposta il primo giorno della settimana come domenica. La transazione della funzione `weekday()` ha avuto luogo un mercoledì e restituisce questo valore, nella forma abbreviata della variabile di sistema `DayNames`, nel campo `=weekday(date)`.

## Esempio 4 - Scenario

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekday.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 il 2022, caricato in una tabella denominata '`Transactions`'.

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

* La variabile `DayNames` che è impostata per utilizzare i nomi dei giorni predefiniti.

L'utente finale desidera un grafico che presenti le vendite medie per giorno della settimana per le transazioni.

Script di caricamento

```
SET DateFormat='MM/DD/YYYY'; 
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 
SET FirstWeekDay=6; 
 
Transactions: 
LOAD 
  RecNo() AS id, 
  MakeDate(2022, 1, Ceil(Rand() * 31)) as date, 
  Rand() * 1000 AS amount 
						
Autogenerate(1000); 
```

Risultati

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

* `=weekday(date)`
* `=avg(amount)`

Impostare la Formattazione numero della misura su Denaro.

Tabella dei risultati

| weekday(date) | Avg(amount) |
| --- | --- |
| Sun | $536.96 |
| Mon | $500.80 |
| Tue | $515.63 |
| Wed | $509.21 |
| Thu | $482.70 |
| Ven | $441.33 |
| Sat | $505.22 |