# inlunarweektodate Skript- und Diagrammfunktion

Diese Funktion gibt an, ob timestamp in dem Teil der Mondwoche liegt, die base\_date enthält, und zwar bis einschließlich der letzten Millisekunde davon. 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.

Syntax:

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

Rückgabe Datentyp: Boolesch

Informationshinweis

In Qlik Sense wird der boolesche Wert „wahr“ durch -1 dargestellt, der Wert „falsch“ durch 0.

Beispieldiagramm der Funktion `inlunarweektodate()`

Beispieldiagramm der Funktion `inlunarweektodate()`

Beispieldiagramm der Funktion `inlunarweektodate()`inlunarweektodate() ![Beispieldiagramm für die Funktion „inlunarweektodate“, die die Datumswerte zeigt, für die die Funktion aufgrund der Eingabeinformationen einen Wert von TRUE zurückgibt.](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweektodate-overview.png)

Die Funktion `inlunarweektodate()` verhält sich als Endpunkt der Mondwoche. Im Gegensatz dazu bestimmt die Funktion `inlunarweek()`, in welche Mondwoche das `base_date` fällt. Wenn beispielsweise das `base_date` der 5. Januar ist, gibt jeder Zeitstempel zwischen dem 1. und 5. Januar einen booleschen Wert von `TRUE` zurück, während Datumswerte am 6. und 7. Januar oder später ein boolesches Ergebnis von `FALSE` zurückgeben.

Argumente

| Argument | Beschreibung |
| --- | --- |
| timestamp | Das Datum, das mit base\_date verglichen werden soll. |
| base\_date | Datum, das für die Interpretation der Mondwoche verwendet wird. |
| period\_no | Mit period\_no kann ein anderer Beginn für die Mondwoche definiert werden. period\_no ist eine ganze Zahl, wobei 0 für die Mondwoche steht, die base\_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 `inlunarweektodate()` gibt einen booleschen Wert zurück. In der Regel wird dieser Funktionstyp als Bedingung in einem IF-Ausdruck verwendet. Die Funktion `inlunarweektodate()` kann dann verwendet werden, wenn der Benutzer möchte, dass die Berechnung eine Aggregierung oder eine Berechnung zurückgibt, je nachdem, ob das ausgewertete Datum in einem bestimmten Segment der betreffenden Woche lag.

Beispielsweise kann die Funktion `inlunarweektodate()` verwendet werden, um alle in einer bestimmten Woche bis zu einem bestimmten Datum gefertigten Geräte zu identifizieren.

Funktionsbeispiele

| Beispiel | Ergebnis |
| --- | --- |
| `inlunarweektodate('01/12/2013', '01/13/2013',<br>						0)` | Gibt `TRUE` zurück, da der Wert von `timestamp`, 01/12/2013, in den Teil der Woche vom 01/08/2013 bis zum 01/13/2013 fällt. |
| `inlunarweektodate('01/12/2013', '01/11/2013',<br>						0)` | Gibt `FALSE` zurück, weil der Wert von `timestamp` nach dem Wert `base_date` liegt, obwohl die beiden Datumswerte in derselben Mondwoche vor dem 01/12/2012 liegen. |
| `inlunarweektodate('01/12/2006', '01/05/2006',<br>						1)` | Liefert `TRUE`. Durch die Angabe eines Werts von 1 für `period_no` wird `base_date` eine Woche nach vorne verschoben, sodass der Wert von `timestamp` in den Teil der Mondwoche fällt. |

Die Funktion `inlunarweektodate()` wird oft in Kombination mit den folgenden Funktionen verwendet:

Verwandte Funktionen

| Funktion | Interaktion |
| --- | --- |
| [lunarweekname Skript- und Diagrammfunktion](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.htm) | Diese Funktion wird verwendet, um die Mondwochennummer des Jahres zu bestimmen, in dem ein Eingabedatum liegt. |

## 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.

Standardmäßige regionale Einstellungen in Anwendungen basieren auf den regionalen Systemeinstellungen des Computers oder Servers, auf dem 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-, Zeit- und Währungsangaben. Diese regionalen Formateinstellungen hängen nicht mit der Sprache zusammen, die in der Qlik Sense Benutzeroberfläche angezeigt wird. Qlik Sense wird in derselben Sprache angezeigt wie der von Ihnen verwendete Browser.

## Beispiel 1 – keine zusätzlichen Argumente

#### Ladeskript und Ergebnisse

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Ein Datensatz enthält eine Reihe von Transaktionen für den Monat Januar und wird in eine Tabelle namens `Transactions` geladen. Die `DateFormat`-Standardsystemvariable MM/TT/JJJJ wird verwendet.

* Erstellen Sie ein Feld `in_lunar_week_to_date`, das bestimmt, welche Transaktionen bisher in der Mondwoche des 10. Januar stattfanden.

Ladeskript

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        inlunarweektodate(date,'01/10/2022', 0) as in_lunar_week_to_date
        ;
Load
*
Inline 
[
id,date,amount
8188,'1/10/2022',37.23
8189,'1/17/2022',17.17
8190,'1/26/2022',88.27
8191,'1/12/2022',57.42
8192,'1/19/2022',53.80
8193,'1/21/2022',82.06
8194,'1/1/2022',40.39
8195,'1/27/2022',87.21
8196,'1/11/2022',95.93
8197,'1/29/2022',45.89
8198,'1/31/2022',36.23
8199,'1/18/2022',25.66
8200,'1/23/2022',82.77
8201,'1/15/2022',69.98
8202,'1/4/2022',76.11
];
```

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:

* `date`

* `in_lunar_week_to_date`

Ergebnistabelle

| Datum | in\_lunar\_week\_to\_date |
| --- | --- |
| 1/1/2022 | 0 |
| 1/4/2022 | 0 |
| 1/10/2022 | -1 |
| 1/11/2022 | 0 |
| 1/12/2022 | 0 |
| 1/15/2022 | 0 |
| 1/17/2022 | 0 |
| 1/18/2022 | 0 |
| 1/19/2022 | 0 |
| 1/21/2022 | 0 |
| 1/23/2022 | 0 |
| 1/26/2022 | 0 |
| 1/27/2022 | 0 |
| 1/29/2022 | 0 |
| 1/31/2022 | 0 |

Funktion `inlunarweektodate()`, keine weiteren Argumente

Funktion `inlunarweektodate()`, keine weiteren Argumente

Funktion `inlunarweektodate()`inlunarweektodate(), keine weiteren Argumente ![Beispiel für die Verwendung der Funktion „inlunarweektodate“, die den Datumsbereich zeigt, für den die Funktion aufgrund der Eingabeinformationen einen Wert von TRUE zurückgibt.](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweektodate-example-no-additional-arguments.png)

Das Feld `in_lunar_week_to_date` wird im vorangehenden load-Befehl erstellt, indem die Funktion `inlunarweektodate()` verwendet und das Feld `date`, ein hartcodierter Zeitstempel für den 10. Januar als `base_date` und ein Versatz von 0 als Argumente der Funktion übergeben werden.

Da Mondwochen am 1. Januar beginnen, fällt der 10. Januar in die Mondwoche, die am 8. Januar beginnt, und weil die Funktion `inlunarweektodate()` verwendet wird, endet diese Mondwoche am 10. Daher gibt jede Transaktion, die zwischen diesen beiden Datumswerten im Januar stattfindet, einen booleschen Wert von `TRUE` zurück. Dies wird in der Ergebnistabelle validiert.

## Beispiel 2 – period\_no

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

#### Ladeskript und Ergebnisse

Ü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 besteht die Aufgabe aber darin, ein Feld `2_lunar_weeks_later` zu erstellen, das bestimmt, ob die Transaktionen zwei Wochen nach der laufenden Mondwoche des 1. Januar stattfanden oder nicht.

Ladeskript

```
SET DateFormat='MM/DD/YYYY';
Transactions:
    Load
        *,
        inlunarweektodate(date,'01/10/2022', 2) as [2_lunar_weeks_later]
        ;
Load
*
Inline
[
id,date,amount
8188,'1/10/2022',37.23
8189,'1/17/2022',17.17
8190,'1/26/2022',88.27
8191,'1/12/2022',57.42
8192,'1/19/2022',53.80
8193,'1/21/2022',82.06
8194,'1/1/2022',40.39
8195,'1/27/2022',87.21
8196,'1/11/2022',95.93
8197,'1/29/2022',45.89
8198,'1/31/2022',36.23
8199,'1/18/2022',25.66
8200,'1/23/2022',82.77
8201,'1/15/2022',69.98
8202,'1/4/2022',76.11
];
```

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:

* `date`

* `2_lunar_weeks_later`

Ergebnistabelle

| Datum | 2\_lunar\_weeks\_later |
| --- | --- |
| 1/1/2022 | 0 |
| 1/4/2022 | 0 |
| 1/10/2022 | 0 |
| 1/11/2022 | 0 |
| 1/12/2022 | 0 |
| 1/15/2022 | 0 |
| 1/17/2022 | 0 |
| 1/18/2022 | 0 |
| 1/19/2022 | 0 |
| 1/21/2022 | 0 |
| 1/23/2022 | -1 |
| 1/26/2022 | 0 |
| 1/27/2022 | 0 |
| 1/29/2022 | 0 |
| 1/31/2022 | 0 |

Funktion `inlunarweektodate()`, Beispiel „period\_no“

Funktion `inlunarweektodate()`, Beispiel „period\_no“

Funktion `inlunarweektodate()`inlunarweektodate(), Beispiel „period\_no“ ![Beispiel für die Verwendung der Funktion „inlunarweektodate“, die den Datumsbereich zeigt, für den die Funktion aufgrund der Eingabeinformationen einen Wert von TRUE zurückgibt.](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweektodate-example-period-no.png)

In diesem Fall bestimmt die Funktion `inlunarweektodate()`, dass die Mondwoche bis zum 10. Januar drei Tagen entspricht (dem 8., 9. und 10. Januar). Da eine `period_no` von 2 als Versatzargument verwendet wurde, wird diese Mondwoche um 14 Tage verschoben. Somit wird definiert, dass die Dreitage-Mondwoche den 22., 23. und 24. Januar umfasst. Jede Transaktion, die vom 22. Januar bis zum 24. Januar stattfindet, gibt ein boolesches Ergebnis von `TRUE` zurück.

## Beispiel 3 – first\_week\_day

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

#### Ladeskript und Ergebnisse

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Derselbe Datensatz und dasselbe Szenario wie im ersten Beispiel.

* Die `DateFormat`-Standardsystemvariable MM/TT/JJJJ wird verwendet.

* Ein Argument für `first_week_date` von 3. Damit wird der Mondwochenbeginn auf den 3. Januar festgelegt.

Ladeskript

```
SET DateFormat='MM/DD/YYYY'; 

Transactions:
    Load
        *,
        inlunarweek(date,'01/10/2022', 0,3) as in_lunar_week_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'1/10/2022',37.23
8189,'1/17/2022',17.17
8190,'1/26/2022',88.27
8191,'1/12/2022',57.42
8192,'1/19/2022',53.80
8193,'1/21/2022',82.06
8194,'1/1/2022',40.39
8195,'1/27/2022',87.21
8196,'1/11/2022',95.93
8197,'1/29/2022',45.89
8198,'1/31/2022',36.23
8199,'1/18/2022',25.66
8200,'1/23/2022',82.77
8201,'1/15/2022',69.98
8202,'1/4/2022',76.11
];
```

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:

* `date`

* `in_lunar_week_to_date`

Ergebnistabelle

| Datum | in\_lunar\_week\_to\_date |
| --- | --- |
| 1/1/2022 | 0 |
| 1/4/2022 | -1 |
| 1/10/2022 | -1 |
| 1/11/2022 | 0 |
| 1/12/2022 | 0 |
| 1/15/2022 | 0 |
| 1/17/2022 | 0 |
| 1/18/2022 | 0 |
| 1/19/2022 | 0 |
| 1/21/2022 | 0 |
| 1/23/2022 | 0 |
| 1/26/2022 | 0 |
| 1/27/2022 | 0 |
| 1/29/2022 | 0 |
| 1/31/2022 | 0 |

Funktion `inlunarweektodate()`, Beispiel „first\_week\_day“

Funktion `inlunarweektodate()`, Beispiel „first\_week\_day“

Funktion `inlunarweektodate()`inlunarweektodate(), Beispiel „first\_week\_day“ ![Beispiel für die Verwendung der Funktion „inlunarweektodate“, die den Datumsbereich zeigt, für den die Funktion aufgrund der Eingabeinformationen einen Wert von TRUE zurückgibt.](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweektodate-example-first-week-date.png)

Da in diesem Fall das Argument für `the first_week_date` von 3 in der Funktion `inlunarweek()` verwendet wird, dauert die erste Mondwoche vom 3. bis zum 10. Januar. Da der 10. Januar auch das `base_date` ist, gibt jede Transaktion, die zwischen diesen beiden Datumswerten liegt, einen booleschen Wert von `TRUE` zurück.

## Beispiel 4 – Diagrammobjektbeispiel

#### Ladeskript und Diagrammformel

Ü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 bestimmt, ob Transaktionen in der Mondwoche bis zum 10. Januar stattfanden, wird als Kennzahl in einem Diagrammobjekt der Anwendung erstellt.

Ladeskript

```
SET DateFormat='MM/DD/YYYY';

Transactions: 
Load
*
Inline
[
id,date,amount
8188,'1/10/2022',37.23
8189,'1/17/2022',17.17
8190,'1/26/2022',88.27
8191,'1/12/2022',57.42
8192,'1/19/2022',53.80
8193,'1/21/2022',82.06
8194,'1/1/2022',40.39
8195,'1/27/2022',87.21
8196,'1/11/2022',95.93
8197,'1/29/2022',45.89
8198,'1/31/2022',36.23
8199,'1/18/2022',25.66
8200,'1/23/2022',82.77
8201,'1/15/2022',69.98
8202,'1/4/2022',76.11
];
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu: date.

Erstellen Sie die folgende Kennzahl:

=inlunarweektodate(date,'01/10/2022', 0)

Ergebnistabelle

| Datum | =inlunarweektodate(date,'01/10/2022', 0) |
| --- | --- |
| 1/1/2022 | 0 |
| 1/4/2022 | 0 |
| 1/10/2022 | -1 |
| 1/11/2022 | 0 |
| 1/12/2022 | 0 |
| 1/15/2022 | 0 |
| 1/17/2022 | 0 |
| 1/18/2022 | 0 |
| 1/19/2022 | 0 |
| 1/21/2022 | 0 |
| 1/23/2022 | 0 |
| 1/26/2022 | 0 |
| 1/27/2022 | 0 |
| 1/29/2022 | 0 |
| 1/31/2022 | 0 |

Funktion inlunarweektodate(), Diagrammobjektbeispiel

Funktion inlunarweektodate(), Diagrammobjektbeispiel

Funktion inlunarweektodate()inlunarweektodate(), Diagrammobjektbeispiel ![Beispieldiagramm für die Verwendung der Funktion „inlunarweektodate“ mit einer Diagrammformel, die bestimmt, ob eine Transaktion in der Mondwoche stattfindet, die den 10. Januar enthält.](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweektodate-example-chart-object.png)

Die Kennzahl in\_lunar\_week\_to\_date wird im Diagrammobjekt erstellt, indem die Funktion inlunarweektodate() verwendet und das Datumsfeld, ein hartcodierter Zeitstempel für den 10. Januar als base\_date und ein Versatz von 0 als Argumente der Funktion übergeben werden.

Da Mondwochen am 1. Januar beginnen, fällt der 10. Januar in die Mondwoche, die am 8. Januar beginnt. Da zudem die Funktion inlunarweektodate() verwendet wird, endet diese Mondwoche am 10. Daher gibt jede Transaktion, die zwischen diesen beiden Datumswerten im Januar stattfindet, einen booleschen Wert von TRUE zurück. Dies wird in der Ergebnistabelle validiert.

## Beispiel 5 – Szenario

#### Ladeskript und Diagrammformeln

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Tabelle namens Products geladen wird

* Informationen bestehend aus Produkt-ID, Herstellungsdatum und Selbstkosten

Es wurde festgestellt, dass aufgrund eines Ausrüstungsfehlers die in der Mondwoche vom 12. Januar hergestellten Produkte mangelhaft waren. Das Problem wurde am 13. Januar behoben. Der Endbenutzer möchte ein Diagrammobjekt, das nach Woche den Status der hergestellten Produkte angibt und zeigt, welche „mangelhaft“ und welche „einwandfrei“ waren und was die in dieser Woche gefertigten Produkte gekostet haben.

Ladeskript

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff]';

Products:
Load
*
Inline 
[
product_id,manufacture_date,cost_price
8188,'01/02/2022 12:22:06',37.23
8189,'01/05/2022 01:02:30',17.17
8190,'01/06/2022 15:36:20',88.27
8191,'01/08/2022 10:58:35',57.42
8192,'01/09/2022 08:53:32',53.80
8193,'01/10/2022 21:13:01',82.06
8194,'01/11/2022 00:57:13',40.39
8195,'01/12/2022 09:26:02',87.21
8196,'01/13/2022 15:05:09',95.93
8197,'01/14/2022 18:44:57',45.89
8198,'01/15/2022 06:10:46',36.23
8199,'01/16/2022 06:39:27',25.66
8200,'01/17/2022 10:44:16',82.77
8201,'01/18/2022 18:48:17',69.98
8202,'01/26/2022 04:36:03',76.11
8203,'01/27/2022 08:07:49',25.12
8204,'01/28/2022 12:24:29',46.23
8205,'01/30/2022 11:56:56',84.21
8206,'01/30/2022 14:40:19',96.24
8207,'01/31/2022 05:28:21',67.67
];
```

Ergebnisse

Gehen Sie folgendermaßen vor:

1. Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle.

2. Erstellen Sie eine Dimension, um die Wochennamen anzuzeigen:

   =weekname(manufacture\_date)

3. Erstellen Sie dann eine Dimension, die die Funktion inlunarweektodate() verwendet, um zu identifizieren, welche Produkte mangelhaft und welche einwandfrei sind:

   =if(inlunarweektodate(manufacture\_date,makedate(2022,01,12),0),'Defective','Faultless')

4. Erstellen Sie eine Kennzahl zum Summieren des cost\_price der Produkte:

   =sum(cost\_price)

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

Ergebnistabelle

| =lunarweekname(manufacture\_date) | =if(InLunarWeekToDate(manufacture\_date,makedate(2022,01,12),0),'Defective','Faultless') | =Sum(cost\_price) |
| --- | --- | --- |
| 2022/01 | Einwandfrei | $142.67 |
| 2022/02 | Defekt | $320.88 |
| 2022/02 | Einwandfrei | $141.82 |
| 2022/03 | Einwandfrei | $214.64 |
| 2022/04 | Einwandfrei | $147.46 |
| 2022/05 | Einwandfrei | $248.12 |

Die Funktion inlunarweektodate() gibt einen booleschen Wert zurück, wenn sie das Herstellungsdatum der einzelnen Produkte auswertet. Für diejenigen, die einen booleschen Wert von TRUE zurückgeben, markiert sie die Produkte als ‘Defective’. Für jedes Produkt, das einen Wert von FALSE zurückgibt und somit nicht in der Mondwoche bis zum 12. Januar hergestellt wurde, werden die Produkte als ‘Faultless’ markiert.