# weekday - Skript- und Diagrammfunktion

Diese Funktion liefert einen dualen Wert mit:

* Einem Wochentag wie in der Umgebungsvariable DayNames definiert.
* Einer ganzen Zahl zwischen 0-6 entsprechend den Tagen der Woche (0-6).

Syntax:

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

Rückgabe Datentyp: dual

Die Funktion `weekday()` bestimmt, auf welchen Tag der Woche ein Datum fällt. Dann gibt sie einen Stringwert zurück, der diesen Tag darstellt.

Diagramm der Funktion `weekday()`, die den Namen des Tages zurückgibt, auf den ein Datum fällt

Diagramm der Funktion `weekday()`, die den Namen des Tages zurückgibt, auf den ein Datum fällt

Diagramm der Funktion `weekday()`weekday(), die den Namen des Tages zurückgibt, auf den ein Datum fällt ![Diagramm der Funktion „weekday()“, die den Namen des Tages zurückgibt, auf den ein Datum fällt](https://help.qlik.com/de-DE/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-diagram1.png)

Das Ergebnis gibt den Zahlenwert zurück, der dem betreffenden Tag der Woche (0-6) entspricht, basierend auf dem Starttag der Woche. Wenn beispielsweise der erste Tag der Woche auf Sonntag festgelegt ist, gibt ein Mittwoch einen Zahlenwert von `3` zurück. Dieser Starttag wird entweder durch die Systemvariable `FirstWeekDay` oder durch den Funktionsparameter `first_week_day` bestimmt.

Sie können diesen Zahlenwert als Teil einer arithmetischen Formel verwenden. Multiplizieren Sie sie beispielsweise mit `1`, um den Wert selbst zurückzugeben.

Diagramm der Funktion `weekday()`, in der der Zahlenwert des Tages anstelle des Namens angezeigt wird

Diagramm der Funktion `weekday()`, in der der Zahlenwert des Tages anstelle des Namens angezeigt wird

Diagramm der Funktion `weekday()`weekday(), in der der Zahlenwert des Tages anstelle des Namens angezeigt wird ![Das Diagramm zeigt, dass die Funktion „weekday()“ einen Zahlenwert zurückgeben kann, der dem identifizierten Tag entspricht.](https://help.qlik.com/de-DE/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-diagram2.png)

Verwendung

Die Funktion `weekday()` ist nützlich, wenn Sie Aggregierungen nach Wochentag vergleichen möchten. Beispiel: Sie möchten den durchschnittlichen Umsatz nach Wochentag vergleichen.

Diese Dimensionen können im Ladeskript erstellt werden, indem die Funktion zum Erstellen eines Felds in einer Master-Kalender-Tabelle verwendet wird, oder sie können direkt in einem Diagramm als berechnete Kennzahl erstellt werden.

Verwandte Themen

| Themen | Interaktion |
| --- | --- |
| [FirstWeekDay](https://help.qlik.com/de-DE/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) | Definiert den Starttag jeder Woche. |

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

Argumente

| Argument | Beschreibung |
| --- | --- |
| date | Datum oder Zeitstempel für die Evaluierung. |
| first\_week\_day | Legt den Tag fest, an dem die Woche beginnt. Ist nichts definiert, wird der Wert der Variable FirstWeekDay verwendet.<br><br>[FirstWeekDay](https://help.qlik.com/de-DE/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) |

Sie können die folgenden Werte verwenden, um den Tag des Wochenbeginns im Argument `first_week_day` festzulegen:

Werte für first\_week\_day

| Tag | Wert |
| --- | --- |
| Montag | 0 |
| Dienstag | 1 |
| Mittwoch | 2 |
| Donnerstag | 3 |
| Freitag | 4 |
| Samstag | 5 |
| Sonntag | 6 |

## Regionaleinstellungen

Sofern nicht anders angegeben, verwenden die Beispiele in diesem Thema das folgende Datumsformat: MM/TT/JJJJ. Das Datumsformat wird in der Anweisung `SET DateFormat` in Ihrem Datenladeskript angegeben. Das Standarddatumsformat in Ihrem System kann aufgrund Ihrer regionalen Einstellungen und anderer Faktoren abweichen. Sie können die Formate in den Beispielen unten Ihren Anforderungen entsprechend ändern. Sie können auch die Formate in Ihrem Ladeskript entsprechend den Beispielen ändern.

Die standardmäßigen regionalen Einstellungen in Apps basieren auf den regionalen Systemeinstellungen der Computer oder Server, auf denen Qlik Sense installiert ist. Wenn der Qlik Sense-Server, auf den Sie zugreifen, auf Schweden festgelegt ist, verwendet der Dateneditor die schwedischen regionalen Einstellungen für Datums-, Uhrzeit- und Währungsangaben. Diese Einstellungen im regionalen Format hängen nicht mit der Sprache zusammen, die in der Benutzeroberfläche von Qlik Sense angezeigt wird. Qlik Sense wird in der gleichen Sprache wie der von Ihnen verwendete Browser angezeigt.

InformationshinweisSofern nicht anders angegeben, ist `FirstWeekDay` in diesen Beispielen auf `0` eingestellt.

Funktionsbeispiele

| Beispiel | Ergebnis |
| --- | --- |
| `weekday('10/12/1971')` | Gibt „Tue“ und 1 zurück. |
| `weekday('10/12/1971' , 6)` | Gibt „Tue“ und 2 zurück.<br><br>In diesem Beispiel ist Sonntag (`6`) der erste Wochentag. |
| `SET FirstWeekDay=6;`<br><br>`...`<br><br>`weekday('10/12/1971')` | Gibt „Tue“ und 2 zurück. |

## Beispiel 1 – Wochentag-String

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

#### Ladeskript und Ergebnisse

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.

Das Ladeskript umfasst:

* Ein Datensatz enthält eine Reihe von Transaktionen für 2022 und wird in eine Tabelle namens „`Transactions`“ geladen.

* Systemvariable `FirstWeekDay`, die ist auf 6 (Sonntag) festgelegt ist

* Variable `DayNames`, die auf die Verwendung der Standardtagesnamen festgelegt ist

* Ein vorangehender load-Befehl, der die Funktion `weekday()` enthält, die als das Feld „`week_day`“ festgelegt ist und den Wochentag zurückgibt, an dem die Transaktionen stattfanden

Ladeskript

```
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 
]; 
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

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

Ergebnistabelle

| id | date | week\_day |
| --- | --- | --- |
| 8188 | 01/01/2022 | Sa |
| 8189 | 01/02/2022 | So |
| 8190 | 01/03/2022 | Mo |
| 8191 | 01/04/2022 | Di |
| 8192 | 01/05/2022 | Mi |
| 8193 | 01/06/2022 | Do |
| 8194 | 01/07/2022 | Fr |

Das Feld „`week_day`“ wird in der vorangehenden load-Anweisung erstellt, indem die Funktion `weekday()` verwendet und das Datumsfeld als Argument der Funktion übergeben wird.

Die Funktion `weekday()` gibt den Wochentag-Stringwert zurück, also den Namen des Wochentages, der von der Systemvariablen `DayNames` festgelegt ist.

Diagramm der Funktion `weekday()`, die Mittwoch als den Wochentag für Transaktion 8192 zurückgibt

Diagramm der Funktion `weekday()`, die Mittwoch als den Wochentag für Transaktion 8192 zurückgibt

Diagramm der Funktion `weekday()`weekday(), die Mittwoch als den Wochentag für Transaktion 8192 zurückgibt ![Das Diagramm zeigt, dass die Funktion „weekday()“ Mittwoch als den Wochentag für Transaktion 8192 zurückgibt.](https://help.qlik.com/de-DE/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-examples1_and3-diagram.png)

Transaktion 8192 fand am 5. Januar statt. Die Systemvariable `FirstWeekDay` legt den ersten Tag der Woche als Sonntag fest. Die Funktion `weekday()` bestimmt, dass die Transaktion an einem Mittwoch stattfand, und gibt diesen Wert in der abgekürzten Form der Systemvariablen `DayNames` im Feld `week_day` zurück.

Die Werte im Feld „`week_day`“ sind rechts in der Spalte ausgerichtet, da ein duales Zahlen- und Textergebnis für das Feld vorhanden ist (Mittwoch, 3). Um den Feldwert in den entsprechenden Zahlenwert zu konvertieren, kann das Feld in die Funktion `num()` eingeschlossen werden. Beispielsweise würde in Transaktion 8192 der Wert „Mittwoch“ in die Zahl 3 konvertiert.

## Beispiel 2 – first\_week\_day

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

#### Ladeskript und Ergebnisse

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.

Das Ladeskript umfasst:

* Datensatz mit einer Reihe von Transaktionen für 2022, der in eine Tabelle namens `Transactions` geladen wird

* Systemvariable `FirstWeekDay`, die ist auf 6 (Sonntag) festgelegt ist

* Variable `DayNames`, die auf die Verwendung der Standardtagesnamen festgelegt ist

* Eine vorangehende load-Anweisung, die die Funktion `weekday()` enthält, die als das Feld „`week_day`“ festgelegt ist und den Wochentag zurückgibt, an dem die Transaktionen stattfanden

Ladeskript

```
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 
]; 
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

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

Ergebnistabelle

| id | date | week\_day |
| --- | --- | --- |
| 8188 | 01/01/2022 | Sa |
| 8189 | 01/02/2022 | So |
| 8190 | 01/03/2022 | Mo |
| 8191 | 01/04/2022 | Di |
| 8192 | 01/05/2022 | Mi |
| 8193 | 01/06/2022 | Do |
| 8194 | 01/07/2022 | Fr |

Diagramm der Funktion `weekday()`, das zeigt, dass der Mittwoch den dualen Zahlenwert von 1 aufweist

Diagramm der Funktion `weekday()`, das zeigt, dass der Mittwoch den dualen Zahlenwert von 1 aufweist

Diagramm der Funktion `weekday()`weekday(), das zeigt, dass der Mittwoch den dualen Zahlenwert von 1 aufweist ![Das Diagramm zeigt, dass der 5. Januar 2022 auf einen Mittwoch fällt und dass der Mittwoch den Zahlenwert 1 hat, weil der erste Tag der Woche auf Dienstag festgelegt ist.](https://help.qlik.com/de-DE/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-example2-diagram.png)

Da das Argument `first_week_day` auf `1` in der Funktion `weekday()` festgelegt ist, ist Dienstag der erste Tag der Woche. Daher haben alle Transaktionen, die an einem Dienstag stattfinden, einen dualen Zahlenwert von `0`.

Transaktion 8192 fand am 5. Januar statt. Die Funktion `weekday()` identifiziert, dass dies ein Mittwoch ist. Daher gibt die Formel den dualen Zahlenwert `1` zurück.

## Beispiel 3 – Diagrammobjektbeispiel

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

#### Ladeskript und Diagrammformel

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.

Das Ladeskript umfasst:

* Datensatz mit einer Reihe von Transaktionen für 2022, der in eine Tabelle namens `Transactions` geladen wird

* Systemvariable `FirstWeekDay`, die auf `6` (Sonntag) festgelegt ist

* Variable `DayNames`, die auf die Verwendung der Standardtagesnamen festgelegt ist

In diesem Beispiel wird jedoch der unveränderte Datensatz in die Anwendung geladen. Die Berechnung, die den Wochentagwert identifiziert, wird als Kennzahl in einem Diagramm in der App erstellt.

Ladeskript

```
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 
]; 
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* `id`
* `date`

Erstellen Sie die folgende Kennzahl, um den Wochentagwert zu berechnen:

* `=weekday(date)`

Ergebnistabelle

| id | date | =weekday(date) |
| --- | --- | --- |
| 8188 | 01/01/2022 | Sa |
| 8189 | 01/02/2022 | So |
| 8190 | 01/03/2022 | Mo |
| 8191 | 01/04/2022 | Di |
| 8192 | 01/05/2022 | Mi |
| 8193 | 01/06/2022 | Do |
| 8194 | 01/07/2022 | Fr |

Das Feld „`=weekday(date)`“ wird im Diagramm erstellt, indem die Funktion `weekday()` verwendet und das Datumsfeld als Argument der Funktion übergeben wird.

Die Funktion `weekday()` gibt den Wochentag-Stringwert zurück, also den Namen des Wochentages, der von der Systemvariablen `DayNames` festgelegt ist.

Diagramm der Funktion `weekday()`, die Mittwoch als den Wochentag für Transaktion 8192 zurückgibt

Diagramm der Funktion `weekday()`, die Mittwoch als den Wochentag für Transaktion 8192 zurückgibt

Diagramm der Funktion `weekday()`weekday(), die Mittwoch als den Wochentag für Transaktion 8192 zurückgibt ![Das Diagramm zeigt, dass die Funktion „weekday()“ Mittwoch als den Wochentag für Transaktion 8192 zurückgibt.](https://help.qlik.com/de-DE/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-examples1_and3-diagram.png)

Transaktion 8192 fand am 5. Januar statt. Die Systemvariable `FirstWeekDay` legt den ersten Tag der Woche als Sonntag fest. Die Funktion `weekday()` bestimmt, dass die Transaktion an einem Mittwoch stattfand, und gibt diesen Wert in der abgekürzten Form der Systemvariablen `DayNames` im Feld `=weekday(date)` zurück.

## Beispiel 4 – Szenario

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

#### Ladeskript und Ergebnisse

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.

Das Ladeskript umfasst:

* Datensatz mit einer Reihe von Transaktionen für 2022, der in eine Tabelle namens `Transactions` geladen wird

* Systemvariable `FirstWeekDay`, die auf `6` (Sonntag) festgelegt ist

* Variable `DayNames`, die auf die Verwendung der Standardtagesnamen festgelegt ist

Der Endbenutzer möchte ein Diagramm, das den durchschnittlichen Umsatz nach Wochentag für die Transaktionen darstellt.

Ladeskript

```
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); 
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

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

Legen Sie das Zahlenformat der Kennzahl auf Währung fest.

Ergebnistabelle

| weekday(date) | Avg(amount) |
| --- | --- |
| So | $536.96 |
| Mo | $500.80 |
| Di | $515.63 |
| Mi | $509.21 |
| Do | $482.70 |
| Fr | $441.33 |
| Sa | $505.22 |