makeweekdate - funzione dello script e del grafico
Questa funzione restituisce una data calcolata dall'anno YYYY, dalla settimana WW e dal giorno della settimana D.
Sintassi:
MakeWeekDate(YYYY [ , WW [ , D ] ])
Tipo di dati restituiti: duale
La funzione makeweekdate() è disponibile sia come script che come grafico. La funzione calcola la data in base ai parametri inseriti nella funzione. Se il parametro giorno della settimana viene omesso, la funzione restituisce la data del lunedì di quella settimana.
La funzione makeweekdate() non considera le variabili di sistema BrokenWeek, ReferenceDay o FirstWeekDay. La settimana 1 inizia il primo lunedì di gennaio. Ad esempio, nel 2022 la settimana 1 inizia il 3 gennaio.
Argomenti
Argomento
Descrizione
YYYY
L'anno è un numero intero.
WW
La settimana è un numero intero.
La settimana può essere positiva o negativa e può essere maggiore di 52 per restituire date in anni diversi.
D
Il giorno della settimana è un numero intero.
Se non si indica alcun giorno della settimana, verrà utilizzato il valore 0 (lunedì). I restanti giorni della settimana sono assegnati come segue: 1 per martedì, 2 per mercoledì, 3 per giovedì, 4 per venerdì, 5 per sabato e 6 per domenica.
Casi di utilizzo
La funzione makeweekdate() viene comunemente utilizzata nello script per la generazione di dati per generare un elenco di date o per costruire date quando l'anno, la settimana e il giorno della settimana sono forniti nei dati di input.
Esempi di funzioni
Esempio
Risultato
makeweekdate(2014,6,6)
restituisce 02/09/2014
makeweekdate(2014,6,1)
restituisce 02/04/2014
makeweekdate(2014,6)
restituisce 02/03/2014 (viene utilizzato il giorno della settimana 0)
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.
Esempio 1 – giorno incluso
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 il totale delle vendite settimanali per il 2022 in una tabella chiamata Sales.
Le date delle transazioni sono fornite in due campi: year, week e sales.
Un caricamento precedente, utilizzato per creare una misura, end_of_week, utilizza la funzione makeweekdate() per restituire la data del venerdì di quella settimana nel formato MM/GG/AAAA.
Per dimostrare che la data restituita è un venerdì, l'espressione end_of_week viene anche racchiusa nella funzione weekday() per mostrare il giorno della settimana.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
transaction_year
transaction_week
end_of_week
week_day
Tabella dei risultati
transaction_year
transaction_week
end_of_week
week_day
2022
01
01/07/2022
Fri
2022
02
01/14/2022
Fri
2022
03
01/21/2022
Fri
2022
04
01/28/2022
Fri
2022
05
02/04/2022
Fri
2022
06
02/11/2022
Fri
2022
07
02/18/2022
Fri
Il campo end_of_week viene creato nell'istruzione LOAD precedente utilizzando la funzione makeweekdate(). I campi transaction_year, transaction_week vengono passati alla funzione come argomenti dell'anno e della settimana. Il valore 4 viene utilizzato per l'argomento giorno.
La funzione combina e converte questi valori in un campo data, restituendo i risultati nel formato della variabile di sistema DateFormat.
La funzione makeweekdate() e i relativi argomenti sono anche avvolti in una funzione weekday() per restituire il campo week_day; e come si può vedere nella tabella precedente, il campo week_day mostra che queste date si verificano di venerdì.
Esempio 2 - giorno escluso
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 i totali delle vendite settimanali per il 2022 in una tabella chiamata Sales.
Le date delle transazioni sono fornite in due campi: year, week e sales.
Un caricamento precedente, che viene sfruttato per creare una misura, first_day_of_week, utilizzando la funzione makeweekdate(). Questo restituirà la data del lunedì di quella settimana nel formato MM/GG/AAAA.
Per dimostrare che la data restituita è un lunedì, l'espressione first_day_of_week viene anche racchiusa nella funzione weekday() per mostrare il giorno della settimana.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
transaction_year
transaction_week
first_day_of_week
week_day
Tabella dei risultati
transaction_year
transaction_week
first_day_of_week
week_day
2022
01
01/03/2022
Mon
2022
02
01/10/2022
Mon
2022
03
01/17/2022
Mon
2022
04
01/24/2022
Mon
2022
05
01/31/2022
Mon
2022
06
02/07/2022
Mon
2022
07
02/14/2022
Mon
Il campo first_day_of_week viene creato nell'istruzione LOAD precedente utilizzando la funzione makeweekdate(). I parametri transaction_year e transaction_week vengono passati come argomenti della funzione, mentre il parametro giorno viene lasciato vuoto.
La funzione combina e converte questi valori in un campo data, restituendo i risultati nel formato della variabile di sistema DateFormat.
La funzione makeweekdate() e i relativi argomenti sono anche avvolti in una funzione weekday() che restituisce il campo week_day. Come si può vedere nella tabella precedente, il campo week_day mostra che queste date si verificano di lunedì (anche se la variabile FirstWeekDay imposta la domenica come primo giorno della settimana), perché il parametro giorno nella funzione makeweekdate() è stato lasciato vuoto.
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 i totali delle vendite settimanali per il 2022 in una tabella chiamata Sales.
Le date delle transazioni sono fornite in due campi: year, week e sales.
In questo esempio, si utilizzerà un oggetto grafico per creare una misura equivalente al calcolo end_of_week del primo esempio. Questa misura utilizzerà la funzione makeweekdate() per restituire la data del venerdì di quella settimana nel formato MM/GG/AAAA.
Per dimostrare che la data restituita è un venerdì, viene creata una seconda misura per restituire il giorno della settimana.
Un campo equivalente a end_of_week viene creato nell'oggetto grafico come misura utilizzando la funzione makeweekdate(). I campi transaction_year e transaction_week vengono passati come argomenti dell'anno e della settimana. Il valore 4 viene utilizzato per l'argomento giorno.
La funzione combina e converte questi valori in un campo data, restituendo i risultati nel formato della variabile di sistema DateFormat.
Anche la funzione makeweekdate() e i relativi argomenti sono disposti in una funzione weekday() per restituire un calcolo equivalente a quello del campo week_day del primo esempio. Come si può vedere nella tabella precedente, l'ultima colonna a destra mostra che queste date si verificano di venerdì.
Esempio 4 – Scenario
Panoramica
In questo esempio, si crea un elenco di date contenente tutti i venerdì dell'anno 2022.
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Script di caricamento
SET DateFormat='MM/DD/YYYY';
Calendar:
load
*,
weekday(date) as weekday
where year(date)=2022;
load
makeweekdate(2022,recno()-2,4) as date
AutoGenerate 60;
Risultati
Tabella dei risultati
date
weekday
01/07/2022
Fri
01/14/2022
Fri
01/21/2022
Fri
01/28/2022
Fri
02/04/2022
Fri
02/11/2022
Fri
02/18/2022
Fri
02/25/2022
Fri
03/04/2022
Fri
03/11/2022
Fri
03/18/2022
Fri
03/25/2022
Fri
04/01/2022
Fri
04/08/2022
Fri
04/15/2022
Fri
04/22/2022
Fri
04/29/2022
Fri
05/06/2022
Fri
05/13/2022
Fri
05/20/2022
Fri
05/27/2022
Fri
06/03/2022
Fri
06/10/2022
Fri
06/17/2022
Fri
+ altre 27 righe
La funzione makeweekdate() trova ogni venerdì del 2022. L'utilizzo di un parametro di settimana pari a -2 garantisce che non vengano perse delle date. Infine, un caricamento precedente crea un campo weekday aggiuntivo per chiarezza, per mostrare che ogni valore date è un venerdì.
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!