Questa funzione restituisce un valore corrispondente a un timestamp recante l'ultimo millisecondo dell'ultimo giorno della settimana di calendario contenente date. Il formato di output predefinito sarà il formato DateFormat impostato nello script.
In altre parole, la funzione weekend() determina in quale settimana cade la data. Quindi, restituisce un timestamp, nel formato data, per l'ultimo millisecondo di quella settimana. Il primo giorno della settimana è determinato dalla variabile ambientale FirstWeekDay. Tuttavia, questo può essere sostituito dall'argomento first_week_day della funzione weekend().
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.
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.
Per maggiori informazioni sulle variabili di sistema, vedere FirstWeekDay.
Casi di utilizzo
La funzione weekend() viene comunemente utilizzata come parte di un'espressione quando l'utente desidera che il calcolo utilizzi i giorni rimanenti della settimana per la data specificata. Ad esempio, potrebbe essere utilizzata se un utente desidera calcolare il totale degli interessi non ancora maturati durante la settimana.
Gli esempi seguenti presuppongono:
SET FirstWeekDay=0;
Esempio
Risultato
weekend('01/10/2013')
Restituisce 01/12/2013 23:59:59.
weekend('01/10/2013', -1)
Restituisce 01/05/2013 23:59:59..
weekend('01/10/2013', 0, 1)
Restituisce 01/14/2013 23:59:59.
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.
Se si desiderano le impostazioni ISO per le settimane e i numeri di settimana, assicurarsi di inserire nello script quanto segue:
Set DateFormat ='YYYY-MM-DD';
Set FirstWeekDay =0; // Monday as first week day
Set BrokenWeeks =0; //(use unbroken weeks)
Set ReferenceDay =4; // Jan 4th is always in week 1
Se si desiderano le impostazioni USA, assicurarsi che nello script sia presente quanto segue:
Set DateFormat ='M/D/YYYY';
Set FirstWeekDay =6; // Sunday as first week day
Set BrokenWeeks =1; //(use broken weeks)
Set ReferenceDay =1; // Jan 1st is always in week 1
Gli esempi sopra riportati danno come risultato quanto segue dalla funzione weekend():
Esempio di funzione Weekend
Data
Fine settimana ISO
Fine settimana USA
Sab 26 dic 2020
2020-12-27
12/26/2020
Dom 27 dic 2020
2020-12-27
1/2/2021
Lun 28 dic 2020
2021-01-03
1/2/2021
Mar 29 dic 2020
2021-01-03
1/2/2021
Mer 30 dic 2020
2021-01-03
1/2/2021
Gio 31 dic 2020
2021-01-03
1/2/2021
Ven 1° gen 2021
2021-01-03
1/2/2021
Sab 2 gen 2021
2021-01-03
1/2/2021
Dom 3 gen 2021
2021-01-03
1/9/2021
Lun 4 gen 2021
2021-01-10
1/9/2021
Mar 5 gen 2021
2021-01-10
1/9/2021
Nota informaticaGli ultimi giorni della settimana corrispondono alla domenica nella colonna ISO e al sabato nella colonna USA.
Esempio 1 – Esempio di base
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'.
Il campo della data fornito nel formato della variabile di sistema DateFormat (MM/GG/AAAA).
La creazione di un campo, end_of_week, che restituisce un timestamp per la fine della settimana in cui sono avvenute le transazioni.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
date
end_of_week
end_of_week_timestamp
Tabella dei risultati
date
end_of_week
end_of_week_timestamp
1/7/2022
01/08/2022
1/8/2022 11:59:59 PM
1/19/2022
01/22/2022
1/22/2022 11:59:59 PM
2/5/2022
02/05/2022
2/5/2022 11:59:59 PM
2/28/2022
03/05/2022
3/5/2022 11:59:59 PM
3/16/2022
03/19/2022
3/19/2022 11:59:59 PM
4/1/2022
04/02/2022
4/2/2022 11:59:59 PM
5/7/2022
05/07/2022
5/7/2022 11:59:59 PM
5/16/2022
05/21/2022
5/21/2022 11:59:59 PM
6/15/2022
06/18/2022
6/18/2022 11:59:59 PM
6/26/2022
07/02/2022
7/2/2022 11:59:59 PM
7/9/2022
07/09/2022
7/9/2022 11:59:59 PM
7/22/2022
07/23/2022
7/23/2022 11:59:59 PM
7/23/2022
07/23/2022
7/23/2022 11:59:59 PM
7/27/2022
07/30/2022
7/30/2022 11:59:59 PM
8/2/2022
08/06/2022
8/6/2022 11:59:59 PM
8/8/2022
08/13/2022
8/13/2022 11:59:59 PM
8/19/2022
08/20/2022
8/20/2022 11:59:59 PM
9/26/2022
10/01/2022
10/1/2022 11:59:59 PM
10/14/2022
10/15/2022
10/15/2022 11:59:59 PM
10/29/2022
10/29/2022
10/29/2022 11:59:59 PM
Il campo 'end_of_week' viene creato nell'istruzione di caricamento precedente mediante l'uso della funzione weekend() e trasferendo il campo data come argomento della funzione.
La funzione weekend() identifica in quale settimana rientra il valore della data e restituisce un timestamp per il primo millisecondo di quella settimana.
La transazione 8191 è avvenuta il 5 febbraio. La variabile di sistema FirstWeekDay imposta il primo giorno della settimana come domenica. La funzione weekend() identifica che il primo sabato dopo il 5 febbraio - e quindi la fine della settimana - era il 5 febbraio. Pertanto, il valore end_of_week per questa transazione restituisce l'ultimo millisecondo di quel giorno, ovvero il 5 febbraio alle 23:59:59.
Esempio 2 – period_no
Panoramica
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.
La creazione di un campo, previous_week_end, che restituisce il timestamp dell'inizio della settimana precedente la transazione.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
date
previous_week_end
previous_week_end_timestamp
Tabella dei risultati
date
end_of_week
end_of_week_timestamp
1/7/2022
01/01/2022
1/1/2022 11:59:59 PM
1/19/2022
01/15/2022
1/15/2022 11:59:59 PM
2/5/2022
01/29/2022
1/29/2022 11:59:59 PM
2/28/2022
02/26/2022
2/26/2022 11:59:59 PM
3/16/2022
03/12/2022
3/12/2022 11:59:59 PM
4/1/2022
03/26/2022
3/26/2022 11:59:59 PM
5/7/2022
04/30/2022
4/30/2022 11:59:59 PM
5/16/2022
05/14/2022
5/14/2022 11:59:59 PM
6/15/2022
06/11/2022
6/11/2022 11:59:59 PM
6/26/2022
06/25/2022
6/25/2022 11:59:59 PM
7/9/2022
07/02/2022
7/2/2022 11:59:59 PM
7/22/2022
07/16/2022
7/16/2022 11:59:59 PM
7/23/2022
07/16/2022
7/16/2022 11:59:59 PM
7/27/2022
07/23/2022
7/23/2022 11:59:59 PM
8/2/2022
07/30/2022
7/30/2022 11:59:59 PM
8/8/2022
08/06/2022
8/6/2022 11:59:59 PM
8/19/2022
08/13/2022
8/13/2022 11:59:59 PM
9/26/2022
09/24/2022
9/24/2022 11:59:59 PM
10/14/2022
10/08/2022
10/8/2022 11:59:59 PM
10/29/2022
10/22/2022
10/22/2022 11:59:59 PM
In questo caso, poiché il valore period_no di -1 è stato utilizzato come argomento offset nella funzione weekend(), la funzione per prima cosa identifica la settimana in cui sono avvenute le transazioni. Quindi, cerca la settimana precedente e identifica l'ultimo millisecondo di quella settimana.
La transazione 8196 è avvenuta il 15 giugno. La funzione weekend() identifica che la settimana è iniziata il 12 giugno. Pertanto, la settimana precedente termina l'11 giugno alle 11:59:59 PM; ciò rappresenta il valore restituito per il campo previous_week_end.
Esempio 3 – first_week_day
Panoramica
Aprire l'Editor di caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento utilizza lo stesso set di dati e lo stesso scenario del primo esempio. Tuttavia, in questo esempio, dobbiamo impostare il martedì come primo giorno della settimana lavorativa.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
date
end_of_week
end_of_week_timestamp
Tabella dei risultati
date
end_of_week
end_of_week_timestamp
1/7/2022
01/10/2022
1/10/2022 11:59:59 PM
1/19/2022
01/24/2022
1/24/2022 11:59:59 PM
2/5/2022
02/07/2022
2/7/2022 11:59:59 PM
2/28/2022
02/28/2022
2/28/2022 11:59:59 PM
3/16/2022
03/21/2022
3/21/2022 11:59:59 PM
4/1/2022
04/04/2022
4/4/2022 11:59:59 PM
5/7/2022
05/09/2022
5/9/2022 11:59:59 PM
5/16/2022
05/16/2022
5/16/2022 11:59:59 PM
6/15/2022
06/20/2022
6/20/2022 11:59:59 PM
6/26/2022
06/27/2022
6/27/2022 11:59:59 PM
7/9/2022
07/11/2022
7/11/2022 11:59:59 PM
7/22/2022
07/25/2022
7/25/2022 11:59:59 PM
7/23/2022
07/25/2022
7/25/2022 11:59:59 PM
7/27/2022
08/01/2022
8/1/2022 11:59:59 PM
8/2/2022
08/08/2022
8/8/2022 11:59:59 PM
8/8/2022
08/08/2022
8/8/2022 11:59:59 PM
8/19/2022
08/22/2022
8/22/2022 11:59:59 PM
9/26/2022
09/26/2022
9/26/2022 11:59:59 PM
10/14/2022
10/17/2022
10/17/2022 11:59:59 PM
10/29/2022
10/31/2022
10/31/2022 11:59:59 PM
In questa istanza, dato che l'argomento first_week_date di 1 è utilizzato nella funzione weekend(), imposta il primo giorno della settimana a martedì.
La transazione 8191 è avvenuta il 5 febbraio. La funzione weekend() identifica che il primo lunedì successivo a questa data - e quindi la fine della settimana e il valore restituito - era il 6 febbraio alle 23:59:59.
Esempio 4 – 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 lo stesso set di dati e lo stesso scenario del primo esempio. Tuttavia, in questo esempio, il set di dati invariato viene caricato nell'applicazione. Il calcolo che restituisce un timestamp per la fine della settimana in cui sono avvenute le transazioni viene creato come misura in un oggetto grafico dell'applicazione.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione: date.
Per calcolare l'inizio della settimana in cui avviene una transazione, aggiungere le seguenti misure:
=weekend(date)
=timestamp(weekend(date))
Tabella dei risultati
date
=weekend(date)
=timestamp(weekend(date))
1/7/2022
01/08/2022
1/8/2022 11:59:59 PM
1/19/2022
01/22/2022
1/22/2022 11:59:59 PM
2/5/2022
02/05/2022
2/5/2022 11:59:59 PM
2/28/2022
03/05/2022
3/5/2022 11:59:59 PM
3/16/2022
03/19/2022
3/19/2022 11:59:59 PM
4/1/2022
04/02/2022
4/2/2022 11:59:59 PM
5/7/2022
05/07/2022
5/7/2022 11:59:59 PM
5/16/2022
05/21/2022
5/21/2022 11:59:59 PM
6/15/2022
06/18/2022
6/18/2022 11:59:59 PM
6/26/2022
07/02/2022
7/2/2022 11:59:59 PM
7/9/2022
07/09/2022
7/9/2022 11:59:59 PM
7/22/2022
07/23/2022
7/23/2022 11:59:59 PM
7/23/2022
07/23/2022
7/23/2022 11:59:59 PM
7/27/2022
07/30/2022
7/30/2022 11:59:59 PM
8/2/2022
08/06/2022
8/6/2022 11:59:59 PM
8/8/2022
08/13/2022
8/13/2022 11:59:59 PM
8/19/2022
08/20/2022
8/20/2022 11:59:59 PM
9/26/2022
10/01/2022
10/1/2022 11:59:59 PM
10/14/2022
10/15/2022
10/15/2022 11:59:59 PM
10/29/2022
10/29/2022
10/29/2022 11:59:59 PM
La misura end_of_week viene creata nell'oggetto grafico mediante l'utilizzo della funzione weekend() e trasferendo il campo data come argomento della funzione. La funzione weekend() identifica in quale settimana cade il valore della data, restituendo un timestamp per l'ultimo millisecondo di quella settimana.
La transazione 8191 è avvenuta il 5 febbraio. La variabile di sistema FirstWeekDay imposta il primo giorno della settimana come domenica. La funzione weekend() identifica che il primo sabato dopo il 5 febbraio - e quindi la fine della settimana - era il 5 febbraio. Pertanto, il valore end_of_week per questa transazione restituisce l'ultimo millisecondo di quel giorno, ovvero il 5 febbraio alle 23:59:59.
Esempio 5 – 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 che viene caricato in una tabella chiamata Employee_Expenses.
I dati consistono negli ID dei dipendenti, nei nomi dei dipendenti e nelle richieste di rimborso delle spese medie giornaliere di ciascun dipendente.
L'utente finale desidera un oggetto grafico che visualizzi, in base all'ID dipendente e al nome del dipendente, le richieste di rimborso spese stimate ancora da sostenere per il resto della settimana.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
employee_id
employee_name
Quindi, creare una misura per calcolare gli interessi accumulati:
=(weekend(today(1))-today(1))*avg_daily_claim
Impostare la Formattazione numero della misura su Denaro.
Tabella dei risultati
employee_id
employee_name
=(weekend(today(1))-today(1))*avg_daily_claim
182
Contrassegno
$90.00
183
Deryck
$75.00
184
Dexter
$75.00
185
Sydney
$162.00
186
Agatha
$108.00
La funzioneweekend(), utilizzando come unico argomento la data odierna, restituisce la data finale della settimana corrente. Quindi, sottraendo la data odierna dalla data di fine settimana, l'espressione restituisce il numero di giorni rimanenti di questa settimana.
Questo valore viene quindi moltiplicato per la media delle richieste di rimborso spese giornaliere di ciascun dipendente per calcolare il valore stimato delle richieste che ogni dipendente dovrebbe presentare durante il periodo rimanente della settimana.
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!