Gå till huvudinnehåll

weekstart - skript- och diagramfunktion

Denna funktion returnerar ett värde som motsvarar en tidsmarkör för den första millisekunden på den första dagen (måndag) i den kalendervecka som innehåller date. Det förvalda utdataformatet är det DateFormat som har definierats i skriptet.

Syntax:  

WeekStart(date [, period_no = 0 [, first_week_day=0]])

Typ av returdata: dual

Argument:  

WeekStart-argument
Argument Beskrivning
date Det datum som ska evalueras.
period_no shift är ett heltal, där värdet 0 anger den vecka som innehåller date. Negativa värden i skift anger föregående veckor och positiva värden anger efterföljande veckor.
first_week_day

Om du inte specificerar first_week_day, kommer värdet för variabeln FirstWeekDay att användas som den första dagen i veckan.

Om du vill använda en annan dag som den första dagen i veckan ska du ställa in first_week_day till:

  • 0 för måndag
  • 1 för tisdag
  • 2 för onsdag
  • 3 för torsdag
  • 4 för fredag
  • 5 för lördag
  • 6 för söndag

Den siffra som returneras av funktionen kommer nu att använda den första dag i veckan som du har ställt in med first_week_day som bas (0).

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:  

weekstart('12/01/2013')

Returnerar 07/01/2013.

Exempel 2:

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

Returnerar 31/11/2012.

Exempel 3:  

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

Returnerar 08/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 veckan som följer på veckan för varje faktureringsdatum i tabellen.

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 *,

WeekStart(InvDate, 1) AS WkStart

Resident TempTable;

Drop table TempTable;

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

Resultat för exempel 4
InvDate WkStart
28/03/2012 02/04/2012
10/12/2012 17/12/2012
5/2/2013 11/02/2013
31/3/2013 01/04/2013
19/5/2013 20/05/2013
15/9/2013 16/09/2013
11/12/2013 16/12/2013
2/3/2014 03/03/2014
14/5/2014 19/05/2014
13/6/2014 16/06/2014
7/7/2014 14/07/2014
4/8/2014 11/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