Diese Funktion liefert den Anzeigewert der ersten Millisekunde des ersten Tags der Mondwoche, in der date liegt. Das Ergebnis wird als Kombination von Jahr und Mondwochennummer formatiert. Bei Mondwochen in Qlik Sense wird der 1. Januar als der erste Tag der Woche gezählt. Mit Ausnahme der letzten Woche des Jahres umfasst jede Woche genau sieben Tage.
Die Funktion lunarweekname() bestimmt, in welche Mondwoche das Datum fällt, wobei die Wochenzählung am 1. Januar beginnt. Dann wird ein Wert zurückgegeben, der aus year/weekcount besteht.
Argumente
Argument
Beschreibung
date
Datum oder Zeitstempel für die Evaluierung.
period_no
period_no ist eine ganze Zahl oder eine Formel, die eine ganze Zahl ergibt, wobei 0 für die Mondwoche steht, die date enthält. Negative Werte von period_no stehen für vorangehende, positive Werte für nachfolgende Mondwochen.
first_week_day
Ein Startwert, der größer oder kleiner als Null sein kann. Dadurch wird der Beginn des Jahres um die angegebene Anzahl an Tagen und/oder den Bruchteil eines Tages verschoben.
Verwendung
Die Funktion lunarweekname() ist nützlich, wenn Sie Aggregierungen nach Mondwochen vergleichen möchten. Beispielsweise kann die Funktion verwendet werden, um den Gesamtumsatz von Produkten nach Mondwochen zu bestimmen. Mondwochen sind nützlich, wenn Sie sicherstellen möchten, dass alle Werte in der ersten Woche des Jahres nur Werte ab dem 1. Januar als frühestes Datum umfassen.
Diese Dimensionen können im Ladeskript erstellt werden, indem die Funktion verwendet wird, um ein Feld in einer Master-Kalender-Tabelle zu erstellen. Diese Funktion kann auch direkt als berechnete Dimension in einem Diagramm verwendet werden.
Funktionsbeispiele
Beispiel
Ergebnis
lunarweekname('01/12/2013')
Gibt 2006/02 zurück.
lunarweekname('01/12/2013', -1)
Gibt 2006/01 zurück.
lunarweekname('01/12/2013', 0, 1)
Gibt 2006/02 zurück.
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.
Beispiel 1 – Datum ohne zusätzliche Argumente
Ü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.
Das Datumsfeld wird im Format der Systemvariablen DateFormat (MM/TT/JJJJ) bereitgestellt.
Erstellung eines Felds lunar_week_name, das das Jahr und die Wochennummer für die Mondwoche zurückgibt, in der die Transaktionen stattfanden
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
date
lunar_week_name
Ergebnistabelle
date
lunar_week_name
1/7/2022
2022/01
1/19/2022
2022/03
2/5/2022
2022/06
2/28/2022
2022/09
3/16/2022
2022/11
4/1/2022
2022/13
5/7/2022
2022/19
5/16/2022
2022/20
6/15/2022
2022/24
6/26/2022
2022/26
7/9/2022
2022/28
7/22/2022
2022/29
7/23/2022
2022/30
7/27/2022
2022/30
8/2/2022
2022/31
8/8/2022
2022/32
8/19/2022
2022/33
9/26/2022
2022/39
10/14/2022
2022/41
10/29/2022
2022/44
Das Feld lunar_week_name wird in dem vorangehenden load-Befehl erstellt, indem die Funktion lunarweekname() verwendet und das Feld date als Argument der Funktion übergeben wird.
Die Funktion lunarweekname() identifiziert, in welche Mondwoche der Datumswert fällt, und gibt das Jahr und die Wochennummer für dieses Datum zurück.
Transaktion 8189 fand am 19. Januar statt. Die Funktion lunarweekname() identifiziert, dass dieses Datum in die Mondwoche fällt, die am 15. Januar beginnt. Das ist die dritte Mondwoche des Jahres. Daher ist der von dieser Transaktion zurückgegebene Wert für lunar_week_name 2022/03.
Beispiel 2 – Datum mit Argument „period_no“
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Derselbe Datensatz und dasselbe Szenario wie im ersten Beispiel.
Es wird ein Feld previous_lunar_week_name erstellt, das das Jahr und die Wochennummer für die Mondwoche vor dem Transaktionsdatum zurückgibt.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
date
previous_lunar_week_name
Ergebnistabelle
date
previous_lunar_week_name
1/7/2022
2021/52
1/19/2022
2022/02
2/5/2022
2022/05
2/28/2022
2022/08
3/16/2022
2022/10
4/1/2022
2022/12
5/7/2022
2022/18
5/16/2022
2022/19
6/15/2022
2022/23
6/26/2022
2022/25
7/9/2022
2022/27
7/22/2022
2022/28
7/23/2022
2022/29
7/27/2022
2022/29
8/2/2022
2022/30
8/8/2022
2022/31
8/19/2022
2022/32
9/26/2022
2022/38
10/14/2022
2022/40
10/29/2022
2022/43
Da in diesem Fall eine period_no von -1 als Versatzargument in der Funktion lunarweekname() verwendet wurde, identifiziert die Funktion zuerst die Mondwoche, in der die Transaktionen stattfanden. Dann gibt sie das Jahr und die Nummer der davor liegenden Woche zurück.
Transaktion 8189 fand am 19. Januar statt. Die Funktion lunarweekname() identifiziert, dass diese Transaktion in der dritten Mondwoche des Jahres stattfand. Daher gibt sie das Jahr und den Wert für eine Woche davor, 2022/02, für das Feld previous_lunar_week_name zurück.
Beispiel 3 – Datum mit dem Argument „first_week_day“
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript verwendet den gleichen Datensatz und das gleiche Szenario wie das erste Beispiel. In diesem Beispiel wird für den Beginn der Mondwochen der 5. Januar festgelegt.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
date
lunar_week_name
Ergebnistabelle
date
lunar_week_name
1/7/2022
2022/01
1/19/2022
2022/03
2/5/2022
2022/05
2/28/2022
2022/08
3/16/2022
2022/11
4/1/2022
2022/13
5/7/2022
2022/18
5/16/2022
2022/19
6/15/2022
2022/24
6/26/2022
2022/25
7/9/2022
2022/27
7/22/2022
2022/29
7/23/2022
2022/29
7/27/2022
2022/30
8/2/2022
2022/30
8/8/2022
2022/31
8/19/2022
2022/33
9/26/2022
2022/38
10/14/2022
2022/41
10/29/2022
2022/43
Da in diesem Fall das Argument first_week_date von 4 in der Funktion lunarweekname() verwendet wird, wird der Start der Mondwochen vom 1. auf den 5. Januar verschoben.
Die Transaktion 8188 fand am 7. Januar statt. Da die Mondwochen am 5. Januar beginnen, identifiziert die Funktion lunarweekname() die Mondwoche des 7. Januar als die erste Mondwoche des Jahres. Daher ist der für diese Transaktion zurückgegebene Wert von lunar_week_name 2022/01.
Beispiel 4 – Diagrammobjektbeispiel
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript verwendet den gleichen Datensatz und das gleiche Szenario wie das erste Beispiel.
In diesem Beispiel wird jedoch der unveränderte Datensatz in die Anwendung geladen. Die Berechnung, die die Nummer der Mondwoche und das Jahr zurückgibt, in denen die Transaktionen stattfanden, wird als Kennzahl in einem Diagrammobjekt der Anwendung erstellt.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu: date.
Um das Startdatum der Mondwoche zu berechnen, in dem eine Transaktion stattfindet, erstellen Sie die folgende Kennzahl:
=lunarweekname(date)
Ergebnistabelle
date
=lunarweekname(date)
1/7/2022
2022/01
1/19/2022
2022/03
2/5/2022
2022/06
2/28/2022
2022/09
3/16/2022
2022/11
4/1/2022
2022/13
5/7/2022
2022/19
5/16/2022
2022/20
6/15/2022
2022/24
6/26/2022
2022/26
7/9/2022
2022/28
7/22/2022
2022/29
7/23/2022
2022/30
7/27/2022
2022/30
8/2/2022
2022/31
8/8/2022
2022/32
8/19/2022
2022/33
9/26/2022
2022/39
10/14/2022
2022/41
10/29/2022
2022/44
Die Kennzahl lunar_week_name wird im Diagrammobjekt erstellt, indem die Funktion lunarweekname() verwendet und das Feld date als Argument der Funktion übergeben wird.
Die Funktion lunarweekname() identifiziert, in welche Mondwoche der Datumswert fällt, und gibt das Jahr und die Wochennummer für dieses Datum zurück.
Transaktion 8189 fand am 19. Januar statt. Die Funktion lunarweekname() identifiziert, dass dieses Datum in die Mondwoche fällt, die am 15. Januar beginnt. Das ist die dritte Mondwoche des Jahres. Daher ist der Wert von lunar_week_name für diese Transaktion 2022/03.
Beispiel 5 – Szenario
Ü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.
Datumsfeld, das im Format der Systemvariablen DateFormat (MM/TT/JJJJ) bereitgestellt wird
Der Endbenutzer möchte ein Diagrammobjekt, das den Gesamtumsatz nach Woche für das laufende Jahr darstellt. Woche 1 mit einer Länge von sieben Tagen soll am 1. Januar beginnen. Das kann auch dann erreicht werden, wenn diese Dimension nicht im Datenmodell verfügbar ist, indem die Funktion lunarweekname() als berechnete Dimension im Diagramm verwendet wird.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle.
Erstellen Sie eine berechnete Dimension anhand der folgenden Formel:
=lunarweekname(date)
Berechnen Sie den Gesamtumsatz anhand der folgenden Aggregierungskennzahl:
=sum(amount)
Legen Sie das Zahlenformat der Kennzahl auf Währung fest.
Ergebnistabelle
=lunarweekname(date)
=sum(amount)
2022/01
$17.17
2022/03
$37.23
2022/06
$57.42
2022/09
$88.27
2022/11
$53.80
2022/13
$82.06
2022/19
$40.39
2022/20
$87.21
2022/24
$95.93
2022/26
$45.89
2022/28
$36.23
2022/29
$25.66
2022/30
$152.75
2022/31
$76.11
2022/32
$25.12
2022/33
$46.23
2022/39
$84.21
2022/41
$96.24
2022/44
$67.67
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!