Det datum eller den tidsmarkör som ska utvärderas.
first_week_day
Anger dagen då veckan startar. Om utelämnat används värdet för variabeln FirstWeekDay.
De möjliga värdena first_week_day är 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 och 6 för söndag.
Se FirstWeekDay för mer information om systemvariabeln.
broken_weeks
Om du inte anger broken_weeks används värdet för variabeln BrokenWeeks till att definiera om veckor är brutna eller inte.
Se BrokenWeeks för mer information om systemvariabeln
reference_day
Om du inte specificerar reference_day, används värdet för variabeln ReferenceDay till att definiera vilken dag i januari som ska ställas in som referensdag för att definiera vecka 1. Qlik Sense-funktioner använder som standard 4 som referensdag. Det betyder att vecka 1 måste innehålla 4 januari, eller med andra ord, vecka 1 måste alltid bestå av minst 4 dagar i januari.
Se ReferenceDay för mer information om systemvariabeln
weekyear()-funktionen bestämmer vilken vecka under året datumet infaller. Den returnerar sedan det år som motsvarar det veckonumret.
Om BrokenWeeks är inställt på 0 (false), kommer weekyear() att returnera samma som year().
Men om systemvariabeln BrokenWeeks sätts till att använda obrutna veckor får vecka 1 bara innehålla ett visst antal dagar i januari baserat på det specificerade värdet i systemvariabeln ReferenceDay.
Om exempelvis ett ReferenceDay-värde på 4 används måste vecka 1 ha minst fyra dagar i januari. Vecka 1 kan innehålla datum i december föregående år och det sista veckonumret under ett år kan innehålla datum i januari i följande år. I situationer som denna kommer weekyear()-funktionen att returnera ett annat värde än year()-funktionen.
Användning
Funktionen weekyear() är användbar när du vill jämföra sammanställningar per år. Till exempel om du vill se den totala försäljningen av produkter per år. weekyear()-funktionen är att föredra framför year() när användaren vill ha överensstämmelse med systemvariabeln BrokenWeeks i appen.
Lokala inställningar
Om inget annat anges använder exemplen i detta ämne följande datumformat: MM/DD/ÅÅÅÅ. Datumformatet anges i SET DateFormat-satsen i datainläsningsskriptet. Förvald datumformatering kan vara annorlunda i ditt system, på grund av dina regionala inställningar och andra faktorer. Du kan ändra formaten i exemplen nedan så att det passar dina krav. Eller så kan du ändra formaten i ditt laddningsskript så att de matchar dessa exempel.
Standardregionalinställningar i appar baseras på de regionala systeminställningarna för datorn eller servern där Qlik Sense är installerad. Om Qlik Sense-servern du ansluter till är inställd på Sverige så kommer skriptredigeraren använda regionala inställningar för Sverige för datum, tid och valuta. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Sense användargränssnittet. Qlik Sense kommer att visas på samma språk som webbläsaren du använder.
Exempel på funktioner
Exempel
Resultat
weekyear('12/30/1996',0,0,4)
Returnerar 1997, eftersom vecka 1 i 1997 börjar 1996-12-30
weekyear('01/02/1997',0,0,4)
Returnerar 1997
weekyear('12/28/1997',0,0,4)
Returnerar 1997
weekyear('12/30/1997',0,0,4)
Returnerar 1998, eftersom vecka 1 i 1998 börjar 1997-12-29
weekyear('01/02/1999',0,0,4)
Returnerar 1998, eftersom vecka 53 i 1998 slutar 1999-01-03
Returnerar ett heltal som motsvarar året om uttrycket tolkas som ett datum enligt standardtolkningen av tal.
Exempel 1 – brutna veckor
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning som innehåller transaktioner för sista veckan år 2020 och den första veckan år 2021 som läses in i en tabell som heter Transactions.
BrokenWeeks-variabeln som är inställd till 1.
En föregående laddning som innehåller följande:
weekyear()-funktionen, inställd som fältet week_year, som returnerar det år när transaktionerna ägde rum.
week()-funktionen, inställd som fältet week, som visar veckonumret för varje transaktionsdatum.
Laddningsskript
SET BrokenWeeks=1;
Transactions:
Load
*,
week(date) as week,
weekyear(date) as week_year
;
Load
*
Inline
[
id,date,amount
8176,12/28/2020,19.42
8177,12/29/2020,23.80
8178,12/30/2020,82.06
8179,12/31/2020,40.56
8180,01/01/2021,37.23
8181,01/02/2021,17.17
8182,01/03/2021,88.27
8183,01/04/2021,57.42
8184,01/05/2021,67.42
8185,01/06/2021,23.80
8186,01/07/2021,82.06
];
Resultat
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
id
date
week
week_year
Resultattabell
id
date
vecka
week_year
8176
12/28/2020
53
2020
8177
12/29/2020
53
2020
8178
12/30/2020
53
2020
8179
12/31/2020
53
2020
8180
01/01/2021
1
2021
8181
01/02/2021
1
2021
8182
01/03/2021
2
2021
8183
01/04/2021
2
2021
8184
01/05/2021
2
2021
8185
01/06/2021
2
2021
8186
01/07/2021
2
2021
week_year-fältet skapades i den föregående load-satsen genom att använda weekyear()-funktionen och skicka datumfältet som funktionens argument.
Systemvariabeln BrokenWeeks sätts till 1, vilket innebär att appen använder brutna veckor. Vecka 1 börjar 1 januari.
Transaktion 8181 äger rum 2 januari, vilket ingår i vecka 1. Därför returneras värdet 2021 för week_year-fältet.
Exempel 2 – obrutna veckor
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning som innehåller transaktioner för sista veckan år 2020 och den första veckan år 2021 som läses in i en tabell som heter Transactions.
BrokenWeeks-variabeln som är inställd till 0.
En föregående laddning som innehåller följande:
weekyear()-funktionen, inställd som fältet week_year, som returnerar det år när transaktionerna ägde rum.
week()-funktionen, inställd som fältet week, som visar veckonumret för varje transaktionsdatum.
Men i det här exemplet är företagspolicyn att använda obrutna veckor.
Laddningsskript
SET BrokenWeeks=0;
Transactions:
Load
*,
week(date) as week,
weekyear(date) as week_year
;
Load
*
Inline
[
id,date,amount
8176,12/28/2020,19.42
8177,12/29/2020,23.80
8178,12/30/2020,82.06
8179,12/31/2020,40.56
8180,01/01/2021,37.23
8181,01/02/2021,17.17
8182,01/03/2021,88.27
8183,01/04/2021,57.42
8184,01/05/2021,67.42
8185,01/06/2021,23.80
8186,01/07/2021,82.06
];
Resultat
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
id
date
week
week_year
Resultattabell
id
date
vecka
week_year
8176
12/28/2020
53
2020
8177
12/29/2020
53
2020
8178
12/30/2020
53
2020
8179
12/31/2020
53
2020
8180
01/01/2021
53
2020
8181
01/02/2021
53
2020
8182
01/03/2021
1
2021
8183
01/04/2021
1
2021
8184
01/05/2021
1
2021
8185
01/06/2021
1
2021
8186
01/07/2021
1
2021
Systemvariabeln BrokenWeeks sätts till 0, vilket innebär att programmet använder obrutna veckor. Därför behöver inte vecka 1 börja 1 januari.
Vecka 53 2020 fortsätter till slutet av 2 januari 2021 och vecka 1 2021 börjar söndag 3 januari 2021.
Transaktion 8181 äger rum 2 januari, vilket ingår i vecka 1. Därför returneras värdet 2021 för week_year-fältet.
Exampel 3 – Diagramobjektexempel
Översikt
Samma datauppsättning och scenario som det första exemplet används.
I det här exemplet är dock datauppsättningen oförändrad och har lästs in i programmet. Beräkningen som returnerar ett veckonummer för det år då transaktionerna ägde rum skapas som ett mått i ett diagram i appen.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
id
date
För att beräkna veckan då en transaktion äger rum skapar du följande mått:
=week(date)
För att beräkna året då en transaktion äger rum baserat på veckonumret skapar du följande mått:
=weekyear(date)
Resultattabell
id
date
vecka
week_year
8176
12/28/2020
53
2020
8177
12/29/2020
53
2020
8178
12/30/2020
53
2020
8179
12/31/2020
53
2020
8180
01/01/2021
1
2021
8181
01/02/2021
1
2021
8182
01/03/2021
2
2021
8183
01/04/2021
2
2021
8184
01/05/2021
2
2021
8185
01/06/2021
2
2021
8186
01/07/2021
2
2021
week_year-fältet skapades i den föregående load-satsen genom att använda weekyear()-funktionen och skicka datumfältet som funktionens argument.
Systemvariabeln BrokenWeeks sätts till 1, vilket innebär att appen använder brutna veckor. Vecka 1 börjar 1 januari.
Transaktion 8181 äger rum 2 januari, vilket ingår i vecka 1. Därför returneras värdet 2021 för week_year-fältet.
Exempel 4 – Scenario
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning som innehåller transaktioner för sista veckan år 2020 och den första veckan år 2021 som läses in i en tabell som heter Transactions.
BrokenWeeks-variabeln som är inställd till 0. Detta betyder att appen kommer att använda obrutna veckor.
ReferenceDay-variabeln som är inställd till 2. Detta betyder att året kommer att börja 2 januari och innehålla minst två dagar i januari.
FirstWeekDay-variabeln som är inställd till 1. Detta innebär att veckans första dag blir en tisdag.
Företagspolicyn är att använda brutna vewckor. Slutanvändaren vill ha ett diagram som visar den totala försäljningen per år. Appen använder obrutna veckor och vecka 1 innehåller minst två dagar i januari.
Laddningsskript
SET BrokenWeeks=0;
SET ReferenceDay=2;
SET FirstWeekDay=1;
Transactions:
Load
*
Inline
[
id,date,amount
8176,12/28/2020,19.42
8177,12/29/2020,23.80
8178,12/30/2020,82.06
8179,12/31/2020,40.56
8180,01/01/2021,37.23
8181,01/02/2021,17.17
8182,01/03/2021,88.27
8183,01/04/2021,57.42
8184,01/05/2021,67.42
8185,01/06/2021,23.80
8186,01/07/2021,82.06
];
Resultat
Ladda data och öppna ett ark. Skapa en ny tabell.
För att beräkna året då en transaktion äger rum baserat på veckonumret skapar du följande mått:
=weekyear(date)
För att beräkna total försäljning skapar du följande mått:
sum(amount)
Ange måttens Nummerformatering till Pengar.
Resultattabell
weekyear(date)
=sum(amount)
2020
19.42
2021
373.37
Var den här sidan till hjälp för dig?
Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!