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.
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.
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.
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.
In diesem Beispiel ist Sonntag (6) der erste Wochentag.
SET FirstWeekDay=6;
...
weekday('10/12/1971')
Gibt „Tue“ und 2 zurück.
Beispiel 1 – Wochentag-String
Ü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.
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
Ü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
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
Ü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.
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
Ü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
Hat diese Seite Ihnen geholfen?
Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!