Gå till huvudinnehåll

lunarweekstart - skript- och diagramfunktion

Denna funktion returnerar ett värde som motsvarar en tidsmarkör för den första millisekunden i den sjudagarsperiod som innehåller date. Sjudagarsperioder i QlikView definieras genom att 1 januari räknas som den första dagen på veckan.

Syntax:  

LunarweekStart(date[, period_no[, first_week_day]])

Typ av returdata: dual

Argument:  

LunarweekStart-argument
Argument Beskrivning
date Det datum som ska evalueras.
period_no period_no är ett heltal, eller ett uttryck som resulterar i ett heltal, där värdet 0 anger den sjudagarsperiod som innehåller date. Negativa värden i period_no anger föregående sjudagarsperioder och positiva värden anger efterföljande sjudagarsperioder.
first_week_day En förflyttning av startpunkten som kan vara större eller mindre än noll. Detta flyttar början på året med det angivna antalet dagar och/eller delar av en dag.

Exempel och resultat:  

I de här exemplen används datumformatet DD/MM/YYYY. Datumformatet anges i SET DateFormat-satsen längst upp i laddningsskriptet. Ändra formatet i exemplen så att det passar dina krav.

Exempel 1:  

lunarweekstart('12/01/2013')

Returnerar 08/01/2013.

Exempel 2:  

lunarweekstart('12/01/2013', -1)

Returnerar 01/01/2013.

Exempel 3:  

lunarweekstart('12/01/2013', 0, 1 )

Returnerar 09/01/2013.
Eftersom startpunkten som anges genom att ange first_week_day till 1 innebär att början av året ändras till 02/01/2013.

Exempel 4:  

Lägg till exempelskriptet i dokumentet och kör det. Lägg sedan till åtminstone de fält som listas i resultatkolumnen på ett ark i dokumentet för att se resultatet.

I det här exemplet hittas den första dagen i sjudagarsperioden för varje faktureringsdatum i tabellen, där date flyttas en vecka genom att ange period_no som 1.

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;

Den resulterande tabellen innehåller de ursprungliga datumen och en kolumn med returvärdet för lunarweekstart()-funktionen. Du kan visa hela tidsmarkören genom att ange formateringen i diagramegenskaperna.

Resultat för exempel 4
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

Var den här sidan till hjälp för dig?

Om du stöter på några problem med den här sidan eller innehållet på den, t.ex. ett stavfel, ett saknat steg eller ett tekniskt fel – meddela oss!

Gå med i programmet Analytics Modernization

Remove banner from view

Modernisera utan att kompromissa med dina värdefulla QlikView-appar med programmet för analysmodernisering. Klicka här för mer information eller ta kontakt: ampquestions@qlik.com