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.
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.
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.
È 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. Per ulteriori informazioni, vedere Modifica delle impostazioni internazionali per la creazione di app e script.
Le impostazioni regionali predefinite nelle app 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.
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.
In questo esempio, domenica (6) è il primo giorno della settimana.
SET FirstWeekDay=6;
...
weekday('10/12/1971')
Restituisce 'Tue' e 2.
Esempio 1 - Stringa Weekday
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 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
Fri
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.
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
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 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
Fri
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
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 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
Fri
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.
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
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 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
Fri
$441.33
Sat
$505.22
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!