# weekyear Skript- och diagramfunktion

Funktionen returnerar det år som veckonumret hör till enligt miljövariablerna. Veckonummer går från 1 till cirka 52.

weekyear(timestamp [, first\_week\_day [, broken\_weeks [, reference\_day]]])

Returnerad datatyp: Heltal

Argument

| Argument | Beskrivning |
| --- | --- |
| timestamp | 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 variabelnFirstWeekDay.<br><br>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.<br><br><br>Se [FirstWeekDay](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) 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.<br><br><br>Se [BrokenWeeks](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/BrokenWeeks.htm) för mer information om systemvariabeln. |
| reference\_day | Om du inte anger 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. Som standard använder Qlik Sense-funktioner 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.<br><br><br>Se [ReferenceDay](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ReferenceDay.htm) 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()`.

Diagram för `weekyear()`-funktionens intervall

Diagram för `weekyear()`-funktionens intervall

Diagram för `weekyear()`weekyear()-funktionens intervall ![Diagram that shows the range of time that the weekyear() function evaluates. The weekyear() identifies the year that a week number took place in.](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-diagram1.png)

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.

Diagram för `weekyear()`-funktionens intervall när obrutna veckor används

Diagram för `weekyear()`-funktionens intervall när obrutna veckor används

Diagram för `weekyear()`weekyear()-funktionens intervall när obrutna veckor används ![Diagram that shows how the weekyear() function works with unbroken weeks. If unbroken weeks are used, the weekyear() function will return a different value than the year() function.](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-diagram2.png)

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 applikationen.

## Lokala inställningar

Om inget annat anges använder exemplen i detta ämne följande datumformat: MM/DD/YYYY. 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 program baseras på de regionala systeminställningarna för datorn eller servern där Qlik Sense är installerad. Om Qlik Senseservern du ansluter till är inställd på Sverige så kommer Dataladdningsredigeraren att använda svenska regionala inställningar 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 |

Relaterade ämnen

| Avsnitt | Interaktion |
| --- | --- |
| [week Skript- och diagramfunktion](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/week.htm) | Returnerar ett heltal som motsvarar veckonumret enligt ISO 8601. |
| [year Skript- och diagramfunktion](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/year.htm) | Returnerar ett heltal som motsvarar året om uttrycket tolkas som ett datum enligt standardtolkningen av tal. |

## Exempel 1 – brutna veckor

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.htm)

#### Laddningsskript och resultat

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

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 | Datum | vecka | vecka\_år |
| --- | --- | --- | --- |
| 8176 | 2020-12-28 | 53 | 2020 |
| 8177 | 29/12/2020 | 53 | 2020 |
| 8178 | 2020-12-30 | 53 | 2020 |
| 8179 | 12/31/2020 | 53 | 2020 |
| 8180 | 2021-01-01 | 1 | 2021 |
| 8181 | 02/01/2021 | 1 | 2021 |
| 8182 | 03/01/2021 | 2 | 2021 |
| 8183 | 2021-01-04 | 2 | 2021 |
| 8184 | 05/01/2021 | 2 | 2021 |
| 8185 | 06/01/2021 | 2 | 2021 |
| 8186 | 07/01/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 applikationen använder brutna veckor. Vecka 1 börjar 1 januari.

Diagram för `weekyear()`-funktionens intervall när brutna veckor används

Diagram för `weekyear()`-funktionens intervall när brutna veckor används

Diagram för `weekyear()`weekyear()-funktionens intervall när brutna veckor används ![Diagram that shows the weekyear() function identifies that transaction 8181 took place in week 1 and returns the year of that week, 2021.](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-examples1_and3-diagram.png)

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.htm)

#### Laddningsskript och resultat

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som innehåller transaktioner för sista veckan år 2020 och 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:

  * Funktionen `weekyear()`, 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 | Datum | vecka | vecka\_år |
| --- | --- | --- | --- |
| 8176 | 2020-12-28 | 53 | 2020 |
| 8177 | 29/12/2020 | 53 | 2020 |
| 8178 | 2020-12-30 | 53 | 2020 |
| 8179 | 12/31/2020 | 53 | 2020 |
| 8180 | 2021-01-01 | 53 | 2020 |
| 8181 | 02/01/2021 | 53 | 2020 |
| 8182 | 03/01/2021 | 1 | 2021 |
| 8183 | 2021-01-04 | 1 | 2021 |
| 8184 | 05/01/2021 | 1 | 2021 |
| 8185 | 06/01/2021 | 1 | 2021 |
| 8186 | 07/01/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.

Diagram för `weekyear()`-funktionens intervall när obrutna veckor används

Diagram för `weekyear()`-funktionens intervall när obrutna veckor används

Diagram för `weekyear()`weekyear()-funktionens intervall när obrutna veckor används ![Diagram that shows how the weekyear() function works with unbroken weeks and that week 53 has days in 2020 and 2021. Transaction 8181 takes place on January 2 but the weekyear() function identifies its year as 2020 because of the unbroken weeks.](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-example2-diagram.png)

Transaktion 8181 äger rum 2 januari, vilket ingår i vecka 1. Därför returnerar den värdet 2021 för fältet ‘`week_year`’.

## Exempel 3 – Diagramobjektexempel

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.htm)

#### Laddningsskript och diagramuttryck

Ö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 veckonumret för det år då transaktionerna ägde rum skapas som ett mått i ett diagram i applikationen.

Laddningsskript

```
SET BrokenWeeks=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 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 | Datum | vecka | vecka\_år |
| --- | --- | --- | --- |
| 8176 | 2020-12-28 | 53 | 2020 |
| 8177 | 29/12/2020 | 53 | 2020 |
| 8178 | 2020-12-30 | 53 | 2020 |
| 8179 | 12/31/2020 | 53 | 2020 |
| 8180 | 2021-01-01 | 1 | 2021 |
| 8181 | 02/01/2021 | 1 | 2021 |
| 8182 | 03/01/2021 | 2 | 2021 |
| 8183 | 2021-01-04 | 2 | 2021 |
| 8184 | 05/01/2021 | 2 | 2021 |
| 8185 | 06/01/2021 | 2 | 2021 |
| 8186 | 07/01/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 applikationen använder brutna veckor. Vecka 1 börjar 1 januari.

Diagram för `weekyear()`-funktionens intervall när brutna veckor används

Diagram för `weekyear()`-funktionens intervall när brutna veckor används

Diagram för `weekyear()`weekyear()-funktionens intervall när brutna veckor används ![Diagram that shows the weekyear() function identifies that transaction 8181 took place in week 1 and returns the year of that week, 2021.](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-examples1_and3-diagram.png)

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.htm)

#### Laddningsskript och resultat

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som innehåller transaktioner för sista veckan år 2020 och 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 applikationen 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. Applikationen 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 |