# inweek – Skript- och diagramfunktion

Denna funktion returnerar True om timestamp ligger inom den vecka som innehåller base\_date.

Syntax:

InWeek (timestamp, base\_date, period\_no[, first\_week\_day])

Returnerad datatyp: Booleansk

I Qlik Sense, representeras det booleska sanna värdet av -1, och det falska värdet representeras av 0.

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

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

Diagram för `inweek()`inweek()-funktionens intervall ![Diagram som visar hur inweek()-funktionen kan användas för att utvärdera datum inom veckosegment och returnera ett booleskt resultat huruvida ett datum ligger inom ett valt intervall eller inte.](https://help.qlik.com/sv-SE/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweek-diagram1.png)

Funktionen `inweek()` använder argumentet `base_date` för att identifiera vilken sjudagarsperiod datumet ligger inom. Veckans startdag baseras på systemvariabeln `FirstWeekDay`. Du kan även ändra den första veckodagen genom att använda argumentet `first_week_day` i `inweek()`-funktionen.

När den valda veckan har definierats returnerar funktionen booleska resultat när du jämför de föreskrivna datumvärdena med det veckosegmentet.

Användning

Funktionen `InWeek` returnerar ett booleskt resultat. Vanligtvis kommer denna typ av funktion att användas som ett villkor i en `if expression`. `InWeek`-funktionen returnerar en aggregering eller beräkning som beror på om ett utvärderat datum ligger i veckan med det valda datumet i `base_date` argument.

Till exempel kan `InWeek`-funktionen användas för att identifiera all utrustning som tillverkas under en specifik vecka.

Argument

| Argument | Beskrivning |
| --- | --- |
| timestamp | Det datum du vill jämföra mot base\_date. |
| base\_date | Datum som används för att utvärdera veckan. |
| period\_no | Veckans startpunkt kan flyttas med period\_no. period\_no är ett heltal där värdet 0 anger den vecka som innehåller base\_date. Negativa värden i period\_no anger föregående veckor och positiva värden anger efterföljande veckor. |
| first\_week\_day | Som standard är den första dagen i veckan söndag (vilket bestäms av systemvariabeln FirstWeekDay), med start vid midnatt mellan lördag och söndag. first\_week\_day-parametern ersätter FirstWeekDay-variabeln. Om du vill att veckan ska starta en annan dag anger du en flagga mellan 0 och 6. |

first\_week\_day values

| Dag | Värde |
| --- | --- |
| Måndag | 0 |
| Tisdag | 1 |
| Onsdag | 2 |
| Torsdag | 3 |
| Fredag | 4 |
| Lördag | 5 |
| Söndag | 6 |

## 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 |
| --- | --- |
| ` inweek ('01/12/2006', '01/14/2006', 0)  ` | Returnerar TRUE |
| ` inweek ('01/12/2006', '01/20/2006', 0 )  ` | Returnerar FALSE |
| ` inweek ('01/12/2006', '01/14/2006', -1 )  ` | Returnerar FALSE |
| ` inweek ('01/07/2006', '01/14/2006', -1)  ` | Returnerar TRUE |
| ` inweek ('01/12/2006', '01/09/2006', 0, 3)  ` | Returnerar FALSE eftersom `first_week_day` är angett som 3 (torsdag), vilket gör 2006-01-12 till den första dagen i veckan efter veckan som innehåller 2006-01-09. |

Dessa ämnen kan hjälpa dig att arbeta med den här funktionen:

Relaterade ämnen

| Avsnitt | Standardflagga/värde | Beskrivning |
| --- | --- | --- |
| [FirstWeekDay](https://help.qlik.com/sv-SE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) | 6/söndag | Definierar startdagen för varje vecka. |

## Exempel 1 – inga ytterligare argument

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inweek.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 månaden januari 2022 som laddas i en tabell som heter `Transactions`.

* Systemvariabeln `FirstWeekDay` som är inställd till `6` (söndag).

* En föregående laddning som innehåller följande:

  * `inweek()`-funktionen, inställd som fältet `in_week`, som fastställer vilka transaktioner som ägde rum under kvartalet fram till den 14 januari 2022.

  * `weekday()`-funktionen, inställd som fältet `week_day`, som visar vilken dag i veckan som motsvarar varje datum.

Laddningsskript

```
SET FirstWeekDay=6; 
SET DateFormat='MM/DD/YYYY'; 
 
Transactions: 
    Load 
       *, 
       weekday(date) as week_day, 
       inweek(date,'01/14/2022', 0) as in_week 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/02/2022',37.23 
8189,'01/05/2022',17.17 
8190,'01/06/2022',88.27 
8191,'01/08/2022',57.42 
8192,'01/09/2022',53.80 
8193,'01/10/2022',82.06 
8194,'01/11/2022',40.39 
8195,'01/12/2022',87.21 
8196,'01/13/2022',95.93 
8197,'01/14/2022',45.89 
8198,'01/15/2022',36.23 
8199,'01/16/2022',25.66 
8200,'01/17/2022',82.77 
8201,'01/18/2022',69.98 
8202,'01/26/2022',76.11 
8203,'01/27/2022',25.12 
8204,'01/28/2022',46.23 
8205,'01/29/2022',84.21 
8206,'01/30/2022',96.24 
8207,'01/31/2022',67.67 
]; 
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`
* `week_day`
* `in_week`

Resultattabell

| datum | week\_day | i veckan |
| --- | --- | --- |
| 01/02/2022 | sön | 0 |
| 01/05/2022 | ons | 0 |
| 01/06/2022 | tors | 0 |
| 2022-01-08 | lör | 0 |
| 09/01/2022 | sön | -1 |
| 01/10/2022 | mån | -1 |
| 11/01/2022 | tis | -1 |
| 12/01/2022 | ons | -1 |
| 13/01/2022 | tors | -1 |
| 14/01/2022 | fre | -1 |
| 15/01/2022 | lör | -1 |
| 16/01/2022 | sön | 0 |
| 17/01/2022 | mån | 0 |
| 18/01/2022 | tis | 0 |
| 26/01/2022 | ons | 0 |
| 27/01/2022 | tors | 0 |
| 28/01/2022 | fre | 0 |
| 29/01/2022 | lör | 0 |
| 30/01/2022 | sön | 0 |
| 01/31/2022 | mån | 0 |

`in_week`-fältet skapas i föregående LOAD-sats med hjälp av `inweek()`-funktionen. Det första argumentet anger vilket fält som utvärderas. Det andra argumentet är ett hårdkodat datum för 14 januari, som är `base_date`. `base_date`-argumentet fungerar med `FirstWeekDay`-systemvariabeln för att identifiera jämförelseveckan. Ett `period_no` på `0` — vilket betyder att funktionen inte jämför veckorna före eller efter den segmenterade veckan – är det slutliga argumentet.

Systemvariabeln `FirstWeekDay` bestämmer att veckor börjar på en söndag och slutar på en lördag. Därför skulle januari delas upp i veckor enligt diagrammet nedan, där datumen mellan 9 och 15 januari ger den giltiga perioden för `inweek()`-beräkningen:

Diagram för kalender med `inweek()`-funktionens intervall framhävt

Diagram för kalender med `inweek()`-funktionens intervall framhävt

Diagram för kalender med `inweek()`inweek()-funktionens intervall framhävt ![Diagram för en kalender som visar en månad med datumen 9 till 15 framhävda i grönt. 9 är en söndag och 15 är en lördag.](https://help.qlik.com/sv-SE/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweek-example1-diagram.png)

Alla transaktioner som inträffar mellan 9 och 15 januari returnerar det booleska resultatet `TRUE`.

## Exempel 2 – period\_no

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

#### Laddningsskript och resultat

Översikt

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

Laddningsskriptet innehåller:

* Samma datauppsättning som innehåller en uppsättning transaktioner för 2022 laddas i en tabell som heter `Transactions`.

* Systemvariabeln `FirstWeekDay` som är inställd till `6` (söndag).

* En föregående laddning som innehåller följande:

  * `inweek ()`-funktionen, inställd som fältet `prev_week`, som fastställer vilka transaktioner som ägde rum en hel vecka före veckan med 14 januari 2022.

  * `weekday()`-funktionen, inställd som fältet `week_day`, som visar vilken dag i veckan som motsvarar varje datum.

Laddningsskript

```
SET FirstWeekDay=6; 
SET DateFormat='MM/DD/YYYY'; 
 
Transactions: 
    Load 
       *, 
	weekday(date) as week_day, 
	inweek(date,'01/14/2022', -1) as prev_week  
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/02/2022',37.23 
8189,'01/05/2022',17.17 
8190,'01/06/2022',88.27 
8191,'01/08/2022',57.42 
8192,'01/09/2022',53.80 
8193,'01/10/2022',82.06 
8194,'01/11/2022',40.39 
8195,'01/12/2022',87.21 
8196,'01/13/2022',95.93 
8197,'01/14/2022',45.89 
8198,'01/15/2022',36.23 
8199,'01/16/2022',25.66 
8200,'01/17/2022',82.77 
8201,'01/18/2022',69.98 
8202,'01/26/2022',76.11 
8203,'01/27/2022',25.12 
8204,'01/28/2022',46.23 
8205,'01/29/2022',84.21 
8206,'01/30/2022',96.24 
8207,'01/31/2022',67.67 
]; 
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`
* `week_day`
* `prev_week`

Resultattabell

| datum | week\_day | förra\_veckan |
| --- | --- | --- |
| 01/02/2022 | sön | -1 |
| 01/05/2022 | ons | -1 |
| 01/06/2022 | tors | -1 |
| 2022-01-08 | lör | -1 |
| 2022-01-09 | sön | 0 |
| 10/01/2022 | mån | 0 |
| 11/01/2022 | tis | 0 |
| 12/01/2022 | ons | 0 |
| 13/01/2022 | tors | 0 |
| 14/01/2022 | fre | 0 |
| 15/01/2022 | lör | 0 |
| 2022-01-16 | sön | 0 |
| 17/01/2022 | mån | 0 |
| 18/01/2022 | tis | 0 |
| 26/01/2022 | ons | 0 |
| 27/01/2022 | tors | 0 |
| 28/01/2022 | fre | 0 |
| 29/01/2022 | lör | 0 |
| 30/01/2022 | sön | 0 |
| 01/31/2022 | mån | 0 |

Genom att använda `-1` som `period_no`-argument i `inweek()`-funktionen skiftas gränserna för i jämförelseveckan bakåt med sju hela dagar. Med ett `period_no` på `0` skulle veckan ligga mellan 9 och 15 januari. Men i det här exemplet skiftas `period_no` i `-1` start- och slutgränsen för det här segmentet bakåt med en vecka. Datumgränserna blir 2 januari till 8 januari.

Diagram för kalender med `inweek()`-funktionens intervall framhävt

Diagram för kalender med `inweek()`-funktionens intervall framhävt

Diagram för kalender med `inweek()`inweek()-funktionens intervall framhävt ![Diagram för en kalender som visar en månad med datumen 2 till 8 framhävda i grönt. 2 är en söndag och 8 är en lördag.](https://help.qlik.com/sv-SE/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweek-example2-diagram.png)

Därför kommer alla transaktioner som sker mellan 2 och 8 januari att returnera det booleska resultatet TRUE.

## Exempel 3 – first\_week\_day

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

#### Laddningsskript och resultat

Översikt

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

Laddningsskriptet innehåller:

* Samma datauppsättning som innehåller en uppsättning transaktioner för 2022 laddas i en tabell som heter `Transactions`.

* Systemvariabeln `FirstWeekDay` som är inställd till `6` (söndag).

* En föregående laddning som innehåller följande:

  * `inweek()`-funktionen, inställd som fältet `in_week`, som fastställer vilka transaktioner som ägde rum under kvartalet fram till den 14 januari 2022.

  * `weekday()`-funktionen, inställd som fältet `week_day`, som visar vilken dag i veckan som motsvarar varje datum.

Laddningsskript

```
SET FirstWeekDay=6; 
SET DateFormat='MM/DD/YYYY'; 
 
Transactions: 
    Load 
       *, 
	weekday(date) as week_day, 
	inweek(date,'01/14/2022', 0, 0) as in_week 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/02/2022',37.23 
8189,'01/05/2022',17.17 
8190,'01/06/2022',88.27 
8191,'01/08/2022',57.42 
8192,'01/09/2022',53.80 
8193,'01/10/2022',82.06 
8194,'01/11/2022',40.39 
8195,'01/12/2022',87.21 
8196,'01/13/2022',95.93 
8197,'01/14/2022',45.89 
8198,'01/15/2022',36.23 
8199,'01/16/2022',25.66 
8200,'01/17/2022',82.77 
8201,'01/18/2022',69.98 
8202,'01/26/2022',76.11 
8203,'01/27/2022',25.12 
8204,'01/28/2022',46.23 
8205,'01/29/2022',84.21 
8206,'01/30/2022',96.24 
8207,'01/31/2022',67.67 
]; 
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`
* `week_day`
* `in_week`

Resultattabell

| datum | week\_day | i veckan |
| --- | --- | --- |
| 01/02/2022 | sön | 0 |
| 01/05/2022 | ons | 0 |
| 01/06/2022 | tors | 0 |
| 2022-01-08 | lör | 0 |
| 09/01/2022 | sön | 0 |
| 10/01/2022 | mån | -1 |
| 11/01/2022 | tis | -1 |
| 12/01/2022 | ons | -1 |
| 13/01/2022 | tors | -1 |
| 14/01/2022 | fre | -1 |
| 15/01/2022 | lör | -1 |
| 16/01/2022 | sön | -1 |
| 17/01/2022 | mån | 0 |
| 18/01/2022 | tis | 0 |
| 26/01/2022 | ons | 0 |
| 27/01/2022 | tors | 0 |
| 28/01/2022 | fre | 0 |
| 29/01/2022 | lör | 0 |
| 30/01/2022 | sön | 0 |
| 01/31/2022 | mån | 0 |

Genom att använda `0` som `first_week_day`-argument i `inweek()`-funktionen ersätts systemvariabeln `FirstWeekDay` och anger måndag som den första dagen i veckan.

Diagram för kalender med `inweek()`-funktionens intervall framhävt

Diagram för kalender med `inweek()`-funktionens intervall framhävt

Diagram för kalender med `inweek()`inweek()-funktionens intervall framhävt ![Diagram för en kalender som visar en månad med datumen 10 till 16 framhävda i grönt. 10 är en måndag och 16 är en söndag](https://help.qlik.com/sv-SE/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweek-example3-diagram.png)

Därför kommer alla transaktioner som sker mellan 10 och 16 januari att returnera det booleska resultatet TRUE

## Exempel 4 – Diagramobjektexempel

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inweek.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. Skapa ett mått i resultattabellen för att fastställa vilka transaktioner som ägde rum under veckan med 14 januari 2022.

Laddningsskript

```
SET FirstWeekDay=6; 
SET DateFormat='MM/DD/YYYY'; 
 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/02/2022',37.23 
8189,'01/05/2022',17.17 
8190,'01/06/2022',88.27 
8191,'01/08/2022',57.42 
8192,'01/09/2022',53.80 
8193,'01/10/2022',82.06 
8194,'01/11/2022',40.39 
8195,'01/12/2022',87.21 
8196,'01/13/2022',95.93 
8197,'01/14/2022',45.89 
8198,'01/15/2022',36.23 
8199,'01/16/2022',25.66 
8200,'01/17/2022',82.77 
8201,'01/18/2022',69.98 
8202,'01/26/2022',76.11 
8203,'01/27/2022',25.12 
8204,'01/28/2022',46.23 
8205,'01/29/2022',84.21 
8206,'01/30/2022',96.24 
8207,'01/31/2022',67.67 
]; 
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:

* `date`

Skapa följande mått:

* `=inweek (date,'01/14/2022',0)`, för att beräkna huruvida transaktioner ägde rum under samma vecka som 14 januari.

* `=weekday(date)`, för att visa vilken veckodag som motsvarar varje datum.

Resultattabell

| datum | week\_day | =inweek (date,'01/14/2022',0) |
| --- | --- | --- |
| 01/02/2022 | sön | 0 |
| 01/05/2022 | ons | 0 |
| 01/06/2022 | tors | 0 |
| 2022-01-08 | lör | 0 |
| 09/01/2022 | sön | -1 |
| 01/10/2022 | mån | -1 |
| 11/01/2022 | tis | -1 |
| 12/01/2022 | ons | -1 |
| 13/01/2022 | tors | -1 |
| 14/01/2022 | fre | -1 |
| 15/01/2022 | lör | -1 |
| 16/01/2022 | sön | 0 |
| 17/01/2022 | mån | 0 |
| 18/01/2022 | tis | 0 |
| 26/01/2022 | ons | 0 |
| 27/01/2022 | tors | 0 |
| 28/01/2022 | fre | 0 |
| 29/01/2022 | lör | 0 |
| 30/01/2022 | sön | 0 |
| 01/31/2022 | mån | 0 |

`in_week`-måttet skapas i diagrammet med hjälp av `inweek()`-funktionen. Det första argumentet anger vilket fält som utvärderas. Det andra argumentet är ett hårdkodat datum för 14 januari, som är `base_date`. `base_date`-argumentet fungerar med `FirstWeekDay`-systemvariabeln för att identifiera jämförelseveckan. Ett `period_no` på `0` är det sista argumentet.

Systemvariabeln `FirstWeekDay` bestämmer att veckor börjar på en söndag och slutar på en lördag. Därför skulle januari delas upp i veckor enligt diagrammet nedan, där datumen mellan 9 och 15 januari ger den giltiga perioden för `inweek()`-beräkningen:

Diagram för kalender med `inweek()`-funktionens intervall framhävt

Diagram för kalender med `inweek()`-funktionens intervall framhävt

Diagram för kalender med `inweek()`inweek()-funktionens intervall framhävt ![Diagram för en kalender som visar en månad med datumen 9 till 15 framhävda i grönt. 9 är en söndag och 15 är en lördag.](https://help.qlik.com/sv-SE/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweek-example1-diagram.png)

Alla transaktioner som inträffar mellan 9 och 15 januari returnerar det booleska resultatet `TRUE`.

## Exempel 5 – Scenario

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

#### Laddningsskript och resultat

Översikt

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

Laddningsskriptet innehåller:

* En datauppsättning laddas i en tabell som heter Products.

* Tabellen innehåller följande fält:

  * produkt-ID

  * produkttyp

  * tillverkningsdatum

  * kostnadspris

I det här exemplet har man identifierat att utrustningsfel var orsaken till att produkter som tillverkades den 12 januari var defekta. Slutanvändaren vill ha en diagram som visar, efter vecka, status för vilka produkter som tillverkades som var "defekta" eller "felfria", samt kostnaden för de produkter som tillverkades den veckan.

Laddningsskript

```
Products: 
Load 
* 
Inline  
[ 
product_id,manufacture_date,cost_price
8188,'01/02/2022',37.23 
8189,'01/05/2022',17.17 
8190,'01/06/2022',88.27 
8191,'01/08/2022',57.42 
8192,'01/09/2022',53.80 
8193,'01/10/2022',82.06 
8194,'01/11/2022',40.39 
8195,'01/12/2022',87.21 
8196,'01/13/2022',95.93 
8197,'01/14/2022',45.89 
8198,'01/15/2022',36.23 
8199,'01/16/2022',25.66 
8200,'01/17/2022',82.77 
8201,'01/18/2022',69.98 
8202,'01/26/2022',76.11 
8203,'01/27/2022',25.12 
8204,'01/28/2022',46.23 
8205,'01/29/2022',84.21 
8206,'01/30/2022',96.24 
8207,'01/31/2022',67.67 
]; 
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:

* =weekname(manufacture\_date)

Skapa följande mått:

* =if(only(inweek(manufacture\_date,makedate(2022,01,12),0)),'Defective','Faultless'), för att identifiera vilka av produkterna som är defekta och vilka som är felfria med inweek()-funktionen:

* =sum(cost\_price), för att visa den sammanlagda kostnaden för varje produkt.

Gör följande:

1. Ange måttens Nummerformatering till Pengar.

2. Under Utseende, stänger du av Total.

Resultattabell

| veckonamn(manufacture\_date) | =om(endast(ivecka(manufacture\_date,skapadatum(2022,01,12),0)), 'Defekt','Felfri') | =sum(cost\_price) |
| --- | --- | --- |
| 2022/02 | Felfri | 200.09 |
| 2022/03 | Defekt | 441.51 |
| 2022/04 | Felfri | 178.41 |
| 2022/05 | Felfri | 231.67 |
| 2022/06 | Felfri | 163,91 |

Funktionen inweek() returnerar ett booleskt värde vid utvärdering av tillverkningsdatumen för var och en av produkterna. För alla produkter som tillverkats under veckan med 12 januari returnerar funktionen inweek() det booleska värdet TRUE och markerar produkterna som "Defekta". För alla produkter som returnerar värdet FALSE och därför inte tillverkats under den veckan, markerar den produkterna som "Felfria".