lunarweekstart - funzione dello script e del grafico
Questa funzione restituisce un valore corrispondente a un indicatore temporale del primo millisecondo della settimana lunare contenente date. Le settimane lunari in QlikView vengono definite calcolando il 1° gennaio come primo giorno della settimana.
Sintassi:
LunarweekStart(date[, period_no[, first_week_day]])
Restituisce il tipo di dati: duale
Argomenti:
Argomento | Descrizione |
---|---|
date | La data da valutare. |
period_no | period_no è un numero intero o un'espressione la cui risoluzione è un numero intero, in cui il valore 0 indica la settimana lunare che contiene il valore date. I valori negativi di period_no indicano le settimane lunari precedenti, mentre i valori positivi indicano le settimane lunari successive. |
first_week_day | Un differimento che può essere maggiore o minore di zero. Ciò modifica l'inizio dell'anno in base al numero specificato di giorni e/o frazioni di un giorno. |
Esempi e risultati:
In questi esempi viene utilizzato il formato di data DD/MM/YYYY. Il formato della data viene specificato nell'istruzione SET DateFormat nella parte superiore dello script di caricamento. Modificare il formato negli esempi in base alle proprie esigenze.
Esempio 1:
lunarweekstart('12/01/2013')
Restituisce 08/01/2013.
Esempio 2:
lunarweekstart('12/01/2013', -1)
Restituisce 01/01/2013.
Esempio 3:
lunarweekstart('12/01/2013', 0, 1 )
Restituisce 09/01/2013.
Poiché il differimento specificato impostando first_week_day su 1 significa che l'inizio dell'anno è stato cambiato in 02/01/2013.
Esempio 4:
Aggiungere lo script di esempio al documento ed eseguirlo. Aggiungere quindi a un foglio del documento almeno i campi elencati nella colonna dei risultati per visualizzare il risultato.
Questo esempio individua il primo giorno della settimana lunare di ogni data della fattura nella tabella in cui date viene spostato di una settimana specificando 1 per period_no.
TempTable:
LOAD RecNo() as InvID, * Inline [
InvDate
28/03/2012
10/12/2012
5/2/2013
31/3/2013
19/5/2013
15/9/2013
11/12/2013
2/3/2014
14/5/2014
13/6/2014
7/7/2014
4/8/2014
];
InvoiceData:
LOAD *,
LunarWeekStart(InvDate, 1) AS LWkStart
Resident TempTable;
Drop table TempTable;
La tabella risultante contiene le date originali e una colonna con il valore restituito della funzione lunarweekstart(). È possibile visualizzare l'indicazione di data e ora completa specificando la formattazione nelle proprietà del grafico.
InvDate | LWkStart |
---|---|
28/03/2012 | 01/04/2012 |
10/12/2012 | 16/12/2012 |
5/2/2013 | 12/02/2013 |
31/3/2013 | 02/04/2013 |
19/5/2013 | 21/05/2013 |
15/9/2013 | 17/09/2013 |
11/12/2013 | 17/12/2013 |
2/3/2014 | 05/03/2014 |
14/5/2014 | 21/05/2014 |
13/6/2014 | 18/06/2014 |
7/7/2014 | 09/07/2014 |
4/8/2014 | 06/08/2014 |