# weekday Skript- och diagramfunktion

Denna funktion returnerar ett dualt värde med:

* Ett namn på en dag som definierat i miljövariabeln DayNames.
* Ett heltal mellan 0 och 6 som motsvarar den nominella veckodagen (0-6).

Syntax:

weekday(date [,first\_week\_day=0])

Returnerad datatyp: dual

`weekday()`-funktionen avgör vilken veckodag ett datum inträffar. Det returnerar sedan ett strängvräde som representerar den dagen.

Diagram för `weekday()`-funktionen som returnerar namnet på dagen då ett datum infaller

Diagram för `weekday()`-funktionen som returnerar namnet på dagen då ett datum infaller

Diagram för `weekday()`weekday()-funktionen som returnerar namnet på dagen då ett datum infaller ![Diagram som visar weekday()-funktionen returnerar namnet på dagen då ett datum infaller](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-diagram1.png)

Resultatet returnerar nummervärdet som motsvarar den veckodagen (0–6), baserat på veckans första dag. Om den första dagen i veckan har satts till söndag returnerar en onsdag nummervärdet `3`. Den här startdagen bestäms antingen av systemvariabeln `FirstWeekDay` eller av funktionsparametern `first_week_day`.

Du kan använda det här talvärdet som en del av ett aritmetiskt uttryck. Till exempel, multiplicera det med `1` för att returnera själva värdet.

Diagram för `weekday()`-funktionen med nummervärdet för den dag som visas i stället för dagens namn

Diagram för `weekday()`-funktionen med nummervärdet för den dag som visas i stället för dagens namn

Diagram för `weekday()`weekday()-funktionen med nummervärdet för den dag som visas i stället för dagens namn ![Diagram som visar att weekday()-funktionen kan returnera ett nummervärde som motsvarar den dag som identifieras.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-diagram2.png)

När ska du använda weekday

Funktionen `weekday()` är användbar när du vill jämföra sammanställningar efter veckodagar. Om du exempelvis vill jämföra genomsnittlig försäljning av produkter efter veckodag.

Dessa dimensioner kan skapas i laddningsskriptet genom att använda funktionen för att skapa ett fält i en Master Calendar-tabell, eller skapas direkt i ett diagram som ett beräknat mått.

Relaterade ämnen

| Ämnen | Interaktion |
| --- | --- |
| [FirstWeekDay](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) | Definierar startdagen för varje vecka. |

| <ul> </ul> |
| --- |

Argument

| Argument | Beskrivning |
| --- | --- |
| date | 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.<br><br>[FirstWeekDay](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) |

Du kan använda följande värden för att ställa in vilken dag veckan börjar i argumentet `first_week_day`:

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/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. Mer information finns i [Ändra regioninställningar för applikationer och skript](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Standardinställningar för region i applikationer baseras på användarprofilen. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Cloud användargränssnittet. Qlik Cloud kommer att visas på samma språk som webbläsaren du använder.

Om du är en applikationsskapare kan du ange standardregionen för applikationer du skapar. Mer information finns i [Ställa in önskade regioninställningar för att skapa appar och skript i Qlik Cloud-analys](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

Anteckning om informationOm inget annat sägs,är `FirstWeekDay` inställd till `0` i dessa exempel.

Exempel på funktioner

| Exempel | Resultat |
| --- | --- |
| `weekday('10/12/1971')` | Returnerar ' Tue' och 1. |
| `weekday('10/12/1971' , 6)` | Returnerar 'Tue' och 2.<br><br>I det här exemplet är söndag (`6`) den första dagen i veckan. |
| `SET FirstWeekDay=6;`<br><br>`...`<br><br>`weekday('10/12/1971')` | Returnerar 'Tue' och 2. |

## Exempel 1 – veckodagssträng

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekday.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 2022 som läses in i en tabell som heter `Transactions`.

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

* `DayNames`-variabeln som är inställd till att använda standardnamnen för dagar.

* En föregående laddning som innehåller `weekday()`-funktionen, som är satt till `week_day`-fältet och returnerar den veckodag då transaktionen ägde rum.

Laddningsskript

```
SET DateFormat='MM/DD/YYYY'; 
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 
SET FirstWeekDay=6; 
 
Transactions: 
    Load 
       *, 
       WeekDay(date) as week_day 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.39 
]; 
```

Resultat

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

* `id`
* `date`
* `week_day`

Resultattabell

| id | datum | week\_day |
| --- | --- | --- |
| 8188 | 01/01/2022 | lör |
| 8189 | 01/02/2022 | sön |
| 8190 | 01/03/2022 | mån |
| 8191 | 01/04/2022 | tis |
| 8192 | 01/05/2022 | ons |
| 8193 | 01/06/2022 | tors |
| 8194 | 01/07/2022 | fre |

`week_day`-fältet skapades i den föregående load-satsen genom att använda `weekday()`-funktionen och skicka datumfältet som funktionens argument.

`weekday()`-funktionen returnerar veckodagens strängvärde, det vill säga, returnerar namnet på veckodagen som ställs in med systemvariabeln `DayNames`.

Diagram för `weekday()`-funktionen som returnerar onsdag som veckodag för transaktion 8192

Diagram för `weekday()`-funktionen som returnerar onsdag som veckodag för transaktion 8192

Diagram för `weekday()`weekday()-funktionen som returnerar onsdag som veckodag för transaktion 8192 ![Diagram som visar att weekday()-funktionen returnerar onsdag som veckodag för transaktion 8192](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-examples1_and3-diagram.png)

Transaktion 8192 ägde rum 5 januari. Systemvariabeln `FirstWeekDay` sätter söndag som första dag i veckan. Funktionstransaktionen `weekday()` ägde rum på en onsdag och returnerar detta värde, i den förkortade formen från systemvariabeln `DayNames` i `week_day`-fältet.

Värdena i `week_day`-fältet är högerjusterade i kolumnen eftersom det finns ett dualt tal och textresultat för fältet (onsdagen den 3:e). För att konvertera fältvärdet till dess numeriska motsvarighet kan fältet inneslutas i `num()`-funktionen. I transaktion 8192 exempelvis skulle onsdagsvärdet konverteras till talet 3.

## Exempel 2 – first\_week\_day

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekday.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 2022 som läses in i en tabell som heter `Transactions`.

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

* `DayNames`-variabeln som är inställd till att använda standardnamnen för dagar.

* En föregående laddning som innehåller `weekday()`-funktionen, som är satt till `week_day`-fältet och returnerar den veckodag då transaktionen ägde rum.

Laddningsskript

```
SET DateFormat='MM/DD/YYYY'; 
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 
SET FirstWeekDay=6; 
 
Transactions: 
    Load 
       *, 
       WeekDay(date,1) as week_day 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.39 
]; 
```

Resultat

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

* `id`
* `date`
* `week_day`

Resultattabell

| id | datum | week\_day |
| --- | --- | --- |
| 8188 | 01/01/2022 | lör |
| 8189 | 01/02/2022 | sön |
| 8190 | 01/03/2022 | mån |
| 8191 | 01/04/2022 | tis |
| 8192 | 01/05/2022 | ons |
| 8193 | 01/06/2022 | tors |
| 8194 | 01/07/2022 | fre |

Diagram för `weekday()`-funktionen som visar att onsdag har det duala värdet 1

Diagram för `weekday()`-funktionen som visar att onsdag har det duala värdet 1

Diagram för `weekday()`weekday()-funktionen som visar att onsdag har det duala värdet 1 ![Diagram som visar att 5 januari 2022 infaller på en onsdag och att onsdag har det numeriska värdet 1 eftersom den första dagen i veckan är satt till tisdag.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-example2-diagram.png)

Eftersom `first_week_day`-argumentet är satt till `1` i `weekday()`-funktionen är tisdag den första dagen i veckan. Därför kommer alla transaktioner som äger rum på en tisdag ha ett dualt numeriskt värde på `0`.

Transaktion 8192 ägde rum 5 januari. `weekday()`-funktionen identifierar att detta är en onsdag, och uttrycket skulle alltså returnera det duala numeriska värdet `1`.

## Exempel 3 – Diagramobjektexempel

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

#### Laddningsskript och diagramuttryck

Ö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 2022 som läses in i en tabell som heter `Transactions`.

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

* `DayNames`-variabeln som är inställd till att använda standardnamnen för dagar.

I det här exemplet är dock datauppsättningen oförändrad och har lästs in i programmet. Beräkningen som identifierar veckodagsvärdet skapas som ett mått i ett diagram i applikationen.

Laddningsskript

```
SET DateFormat='MM/DD/YYYY'; 
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 
SET FirstWeekDay=6; 
 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.39 
]; 
```

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 veckodagsvärdet skapar du följande mått:

* `=weekday(date)`

Resultattabell

| id | datum | =weekday(date) |
| --- | --- | --- |
| 8188 | 01/01/2022 | lör |
| 8189 | 01/02/2022 | sön |
| 8190 | 01/03/2022 | mån |
| 8191 | 01/04/2022 | tis |
| 8192 | 01/05/2022 | ons |
| 8193 | 01/06/2022 | tors |
| 8194 | 01/07/2022 | fre |

`=weekday(date)`-fältet skapades i diagrammet genom att använda `weekday()`-funktionen och skicka datumfältet som funktionens argument.

`weekday()`-funktionen returnerar veckodagens strängvärde, det vill säga, returnerar namnet på veckodagen som ställs in med systemvariabeln `DayNames`.

Diagram för `weekday()`-funktionen som returnerar onsdag som veckodag för transaktion 8192

Diagram för `weekday()`-funktionen som returnerar onsdag som veckodag för transaktion 8192

Diagram för `weekday()`weekday()-funktionen som returnerar onsdag som veckodag för transaktion 8192 ![Diagram som visar att weekday()-funktionen returnerar onsdag som veckodag för transaktion 8192](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-examples1_and3-diagram.png)

Transaktion 8192 ägde rum 5 januari. Systemvariabeln `FirstWeekDay` sätter söndag som första dag i veckan. Funktionstransaktionen `weekday()` ägde rum på en onsdag och returnerar detta värde, i den förkortade formen från systemvariabeln `DayNames` i `=weekday(date)`-fältet.

## Exempel 4 – Scenario

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekday.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 2022 som läses in i en tabell som heter `Transactions`.

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

* `DayNames`-variabeln som är inställd till att använda standardnamnen för dagar.

Slutanvändaren vill ha ett diagram som visar den genomsnittliga försäljningen per veckodag för transaktionerna.

Laddningsskript

```
SET DateFormat='MM/DD/YYYY'; 
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 
SET FirstWeekDay=6; 
 
Transactions: 
LOAD 
  RecNo() AS id, 
  MakeDate(2022, 1, Ceil(Rand() * 31)) as date, 
  Rand() * 1000 AS amount 
						
Autogenerate(1000); 
```

Resultat

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

* `=weekday(date)`
* `=avg(amount)`

Ställ in måttens Nummerformatering till Pengar.

Resultattabell

| weekday(date) | Avg(amount) |
| --- | --- |
| sön | $536.96 |
| mån | $500.80 |
| tis | $515.63 |
| ons | $509.21 |
| tors | $482.70 |
| fre | $441.33 |
| lör | $505.22 |