# weekend - Skript- und Diagrammfunktion

Diese Funktion gibt einen Wert zurück, der dem Zeitstempel der letzten Millisekunde des letzten Tages der Kalenderwoche entspricht, in der date liegt. Das Ergebnis wird entsprechend dem im Skript definierten DateFormat formatiert.

Syntax:

WeekEnd(timestamp [, period\_no [, first\_week\_day ]])

Rückgabe Datentyp: dual

Die Funktion `weekend()` bestimmt, in welche Woche das Datum fällt. Sie gibt dann einen Zeitstempel im Datumsformat für die letzte Millisekunde dieser Woche zurück. Der erste Tag der Woche wird durch die Umgebungsvariable `FirstWeekDay` bestimmt. Dies kann jedoch durch das Argument `first_week_day` in der Funktion `weekend()` überschrieben werden.

Argumente

| Argument | Beschreibung |
| --- | --- |
| timestamp | Datum oder Zeitstempel für die Evaluierung. |
| period\_no | shift ist eine ganze Zahl, wobei 0 für die Woche steht, die date enthält. Negative Werte von "shift" stehen für vorangehende Wochen, positive Werte für nachfolgende Wochen. |
| first\_week\_day | Legt den Tag fest, an dem die Woche beginnt. Ist nichts definiert, wird der Wert der Variable FirstWeekDay verwendet.<br><br>Die möglichen Werte für first\_week\_day sind 0 für Montag, 1 für Dienstag, 2 für Mittwoch, 3 für Donnerstag, 4 für Freitag, 5 für Samstag und 6 für Sonntag.<br><br>Weitere Informationen über die Systemvariable finden Sie unter [FirstWeekDay](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm). |

## Verwendung

Die Funktion `weekend()` wird in der Regel als Teil einer Formel verwendet, wenn in der Berechnung die verbleibenden Tage der Woche für das angegebene Datum verwendet werden sollen. Beispiel: Ein Benutzer möchte die gesamten, während der Woche noch nicht fällig gewordenen Zinsen berechnen.

Die folgenden Beispiele nehmen an:

```
SET FirstWeekDay=0;
```

| Beispiel | Ergebnis |
| --- | --- |
| `weekend('01/10/2013')` | Gibt 01/12/2013 23:59:59 zurück. |
| `weekend('01/10/2013', -1)` | Gibt 01/05/2013 23:59:59. zurück. |
| `weekend('01/10/2013', 0, 1)` | Gibt 01/14/2013 23:59:59 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.

Beispiele:

Wenn Sie ISO-Einstellungen für Wochen und Wochennummern verwenden möchten, müssen Sie Folgendes in das Skript einschließen:

```
Set DateFormat   ='YYYY-MM-DD'; 
Set FirstWeekDay =0;    // Monday as first week day
Set BrokenWeeks  =0;    //(use unbroken weeks)
Set ReferenceDay =4;    // Jan 4th is always in week 1
```

Wenn Sie US-Einstellungen verwenden möchten, müssen Sie Folgendes in das Skript einschließen:

```
Set DateFormat   ='M/D/YYYY';
Set FirstWeekDay =6;    // Sunday as first week day
Set BrokenWeeks  =1;    //(use broken weeks)
Set ReferenceDay =1;    // Jan 1st is always in week 1
```

Die obigen Beispiele führen zu folgenden Ergebnissen für die Funktion weekend():

Beispiel der Funktion „Weekend“

| Datum | ISO-Wochenende | US-Wochenende |
| --- | --- | --- |
| Sat 2020 Dec 26 | 2020-12-27 | 12/26/2020 |
| Sun 2020 Dec 27 | 2020-12-27 | 1/2/2021 |
| Mon 2020 Dec 28 | 2021-01-03 | 1/2/2021 |
| Tue 2020 Dec 29 | 2021-01-03 | 1/2/2021 |
| Wed 2020 Dec 30 | 2021-01-03 | 1/2/2021 |
| Thu 2020 Dec 31 | 2021-01-03 | 1/2/2021 |
| Fri 2021 Jan 1 | 2021-01-03 | 1/2/2021 |
| Sat 2021 Jan 2 | 2021-01-03 | 1/2/2021 |
| Sun 2021 Jan 3 | 2021-01-03 | 1/9/2021 |
| Mon 2021 Jan 4 | 2021-01-10 | 1/9/2021 |
| Tue 2021 Jan 5 | 2021-01-10 | 1/9/2021 |

InformationshinweisIn der ISO-Spalte endet die Woche an Sonntagen, in der US-Spalte an Samstagen.

## Beispiel 1 – einfaches Beispiel

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

#### 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 2022 und wird in eine Tabelle namens Transactions geladen.

* Das Datumsfeld wird im Format der Systemvariablen DateFormat (MM/TT/JJJJ) bereitgestellt.

* Erstellung eines Felds end\_of\_week, das einen Zeitstempel für das Ende der Woche zurückgibt, in der die Transaktionen stattfanden

Ladeskript

```
SET FirstWeekDay=6;

Transactions:
    Load
        *,
        weekend(date) as end_of_week,
        timestamp(weekend(date)) as end_of_week_timestamp
        ;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

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

* end\_of\_week

* end\_of\_week\_timestamp

Ergebnistabelle

| Datum | end\_of\_week | end\_of\_week\_timestamp |
| --- | --- | --- |
| 1/7/2022 | 01/08/2022 | 1/8/2022 11:59:59 PM |
| 1/19/2022 | 01/22/2022 | 1/22/2022 11:59:59 PM |
| 2/5/2022 | 02/05/2022 | 2/5/2022 11:59:59 PM |
| 2/28/2022 | 03/05/2022 | 3/5/2022 11:59:59 PM |
| 3/16/2022 | 03/19/2022 | 3/19/2022 11:59:59 PM |
| 4/1/2022 | 04/02/2022 | 4/2/2022 11:59:59 PM |
| 5/7/2022 | 05/07/2022 | 5/7/2022 11:59:59 PM |
| 5/16/2022 | 05/21/2022 | 5/21/2022 11:59:59 PM |
| 6/15/2022 | 06/18/2022 | 6/18/2022 11:59:59 PM |
| 6/26/2022 | 07/02/2022 | 7/2/2022 11:59:59 PM |
| 7/9/2022 | 07/09/2022 | 7/9/2022 11:59:59 PM |
| 7/22/2022 | 07/23/2022 | 7/23/2022 11:59:59 PM |
| 7/23/2022 | 07/23/2022 | 7/23/2022 11:59:59 PM |
| 7/27/2022 | 07/30/2022 | 7/30/2022 11:59:59 PM |
| 8/2/2022 | 08/06/2022 | 8/6/2022 11:59:59 PM |
| 8/8/2022 | 08/13/2022 | 8/13/2022 11:59:59 PM |
| 8/19/2022 | 08/20/2022 | 8/20/2022 11:59:59 PM |
| 9/26/2022 | 10/01/2022 | 10/1/2022 11:59:59 PM |
| 10/14/2022 | 10/15/2022 | 10/15/2022 11:59:59 PM |
| 10/29/2022 | 10/29/2022 | 10/29/2022 11:59:59 PM |

Das Feld end\_of\_week wird im vorangehenden load-Befehl erstellt, indem die Funktion weekend() verwendet und das Datumsfeld als Argument der Funktion übergeben wird.

Die Funktion weekend() identifiziert, in welche Woche der Datumswert fällt, und gibt einen Zeitstempel für die letzte Millisekunde dieser Woche zurück.

Diagramm der Funktion weekend(), einfaches Beispiel

Diagramm der Funktion weekend(), einfaches Beispiel

Diagramm der Funktion weekend()weekend(), einfaches Beispiel![Das Diagramm zeigt, wie die Funktion „weekend“ ein Transaktionsdatum in einen Zeitstempel für die letzte Millisekunde der Woche konvertiert, in der die Transaktion stattfand.](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekend-examples-basic.png)

Transaktion 8191 fand am 5. Februar statt. Die Systemvariable FirstWeekDay legt den ersten Tag der Woche als Sonntag fest. Die Funktion weekend() ermittelt, dass der erste Samstag nach dem 5. Februar – und somit nach dem Ende der Woche – der 5. Februar war. Daher gibt der Wert end\_of\_week für diese Transaktion die letzte Millisekunde dieses Tages zurück, also den 5. Februar um 11:59:59 PM.

## Beispiel 2 – period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekend.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.

* Es wird ein Feld previous\_week\_end erstellt, das den Zeitstempel für den Start der Woche vor der Woche zurückgibt, in der die Transaktion stattfand.

Ladeskript

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

Transactions:
    Load
        *,
        weekend(date,-1) as previous_week_end,
        timestamp(weekend(date,-1)) as previous_week_end_timestamp
        ;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

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

* previous\_week\_end

* previous\_week\_end\_timestamp

Ergebnistabelle

| Datum | end\_of\_week | end\_of\_week\_timestamp |
| --- | --- | --- |
| 1/7/2022 | 01/01/2022 | 1/1/2022 11:59:59 PM |
| 1/19/2022 | 01/15/2022 | 1/15/2022 11:59:59 PM |
| 2/5/2022 | 01/29/2022 | 1/29/2022 11:59:59 PM |
| 2/28/2022 | 02/26/2022 | 2/26/2022 11:59:59 PM |
| 3/16/2022 | 03/12/2022 | 3/12/2022 11:59:59 PM |
| 4/1/2022 | 03/26/2022 | 3/26/2022 11:59:59 PM |
| 5/7/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 5/16/2022 | 05/14/2022 | 5/14/2022 11:59:59 PM |
| 6/15/2022 | 06/11/2022 | 6/11/2022 11:59:59 PM |
| 6/26/2022 | 06/25/2022 | 6/25/2022 11:59:59 PM |
| 7/9/2022 | 07/02/2022 | 7/2/2022 11:59:59 PM |
| 7/22/2022 | 07/16/2022 | 7/16/2022 11:59:59 PM |
| 7/23/2022 | 07/16/2022 | 7/16/2022 11:59:59 PM |
| 7/27/2022 | 07/23/2022 | 7/23/2022 11:59:59 PM |
| 8/2/2022 | 07/30/2022 | 7/30/2022 11:59:59 PM |
| 8/8/2022 | 08/06/2022 | 8/6/2022 11:59:59 PM |
| 8/19/2022 | 08/13/2022 | 8/13/2022 11:59:59 PM |
| 9/26/2022 | 09/24/2022 | 9/24/2022 11:59:59 PM |
| 10/14/2022 | 10/08/2022 | 10/8/2022 11:59:59 PM |
| 10/29/2022 | 10/22/2022 | 10/22/2022 11:59:59 PM |

Da in diesem Fall eine period\_no von -1 als Versatzargument in der Funktion weekend() verwendet wurde, identifiziert die Funktion zuerst die Woche, in der die Transaktionen stattfinden. Dann geht sie eine Woche zurück und identifiziert die letzte Millisekunde dieser Woche.

Diagramm der Funktion weekend(), Beispiel „period\_no“

Diagramm der Funktion weekend(), Beispiel „period\_no“

Diagramm der Funktion weekend()weekend(), Beispiel „period\_no“![Das Diagramm zeigt, wie die Funktion „weekend“ ein Transaktionsdatum in einen Zeitstempel für die letzte Millisekunde der Woche konvertiert, in der die Transaktion stattfand.](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekend-examples-period-no.png)

Transaktion 8196 fand am 15. Juni statt. Die Funktion weekend() identifiziert, dass die Woche am 12. Juni beginnt. Daher endet die vorherige Woche am 11. Juni um 11:59:59 PM; dies ist der Wert, der für das Feld previous\_week\_end zurückgegeben wird.

## Beispiel 3 – first\_week\_day

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekend.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 muss jedoch Dienstag als der erste Tag der Arbeitswoche festgelegt werden.

Ladeskript

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

Transactions:
    Load
        *,
        weekend(date,0,1) as end_of_week,
        timestamp(weekend(date,0,1)) as end_of_week_timestamp,
        ;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

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

* end\_of\_week

* end\_of\_week\_timestamp

Ergebnistabelle

| Datum | end\_of\_week | end\_of\_week\_timestamp |
| --- | --- | --- |
| 1/7/2022 | 01/10/2022 | 1/10/2022 11:59:59 PM |
| 1/19/2022 | 01/24/2022 | 1/24/2022 11:59:59 PM |
| 2/5/2022 | 02/07/2022 | 2/7/2022 11:59:59 PM |
| 2/28/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 3/16/2022 | 03/21/2022 | 3/21/2022 11:59:59 PM |
| 4/1/2022 | 04/04/2022 | 4/4/2022 11:59:59 PM |
| 5/7/2022 | 05/09/2022 | 5/9/2022 11:59:59 PM |
| 5/16/2022 | 05/16/2022 | 5/16/2022 11:59:59 PM |
| 6/15/2022 | 06/20/2022 | 6/20/2022 11:59:59 PM |
| 6/26/2022 | 06/27/2022 | 6/27/2022 11:59:59 PM |
| 7/9/2022 | 07/11/2022 | 7/11/2022 11:59:59 PM |
| 7/22/2022 | 07/25/2022 | 7/25/2022 11:59:59 PM |
| 7/23/2022 | 07/25/2022 | 7/25/2022 11:59:59 PM |
| 7/27/2022 | 08/01/2022 | 8/1/2022 11:59:59 PM |
| 8/2/2022 | 08/08/2022 | 8/8/2022 11:59:59 PM |
| 8/8/2022 | 08/08/2022 | 8/8/2022 11:59:59 PM |
| 8/19/2022 | 08/22/2022 | 8/22/2022 11:59:59 PM |
| 9/26/2022 | 09/26/2022 | 9/26/2022 11:59:59 PM |
| 10/14/2022 | 10/17/2022 | 10/17/2022 11:59:59 PM |
| 10/29/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |

Da in diesem Fall das Argument first\_week\_date von 1 in der Funktion weekend() verwendet wird, legt sie Dienstag als ersten Tag der Woche fest.

Diagramm der Funktion weekend(), Beispiel „first\_week\_day“

Diagramm der Funktion weekend(), Beispiel „first\_week\_day“

Diagramm der Funktion weekend()weekend(), Beispiel „first\_week\_day“![Das Diagramm zeigt, wie die Funktion „weekend“ ein Transaktionsdatum in einen Zeitstempel für die letzte Millisekunde der Woche konvertiert, in der die Transaktion stattfand.](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekend-examples-first-week-day.png)

Transaktion 8191 fand am 5. Februar statt. Die Funktion weekend() identifiziert, dass der erste Montag nach diesem Datum – und somit das Ende der Woche und der zurückgegebene Wert – der 6. Februar um 11:59:59 PM war.

## Beispiel 4 – Diagrammobjektbeispiel

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

#### 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 einen Zeitstempel für das Ende der Woche zurückgibt, in dem die Transaktionen stattfanden, wird als Kennzahl in einem Diagrammobjekt der Anwendung erstellt.

Ladeskript

```
Transactions:
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

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.

Um den Start der Woche zu berechnen, in der eine Transaktion stattfindet, erstellen Sie die folgenden Kennzahlen:

* =weekend(date)

* =timestamp(weekend(date))

Ergebnistabelle

| Datum | =weekend(date) | =timestamp(weekend(date)) |
| --- | --- | --- |
| 1/7/2022 | 01/08/2022 | 1/8/2022 11:59:59 PM |
| 1/19/2022 | 01/22/2022 | 1/22/2022 11:59:59 PM |
| 2/5/2022 | 02/05/2022 | 2/5/2022 11:59:59 PM |
| 2/28/2022 | 03/05/2022 | 3/5/2022 11:59:59 PM |
| 3/16/2022 | 03/19/2022 | 3/19/2022 11:59:59 PM |
| 4/1/2022 | 04/02/2022 | 4/2/2022 11:59:59 PM |
| 5/7/2022 | 05/07/2022 | 5/7/2022 11:59:59 PM |
| 5/16/2022 | 05/21/2022 | 5/21/2022 11:59:59 PM |
| 6/15/2022 | 06/18/2022 | 6/18/2022 11:59:59 PM |
| 6/26/2022 | 07/02/2022 | 7/2/2022 11:59:59 PM |
| 7/9/2022 | 07/09/2022 | 7/9/2022 11:59:59 PM |
| 7/22/2022 | 07/23/2022 | 7/23/2022 11:59:59 PM |
| 7/23/2022 | 07/23/2022 | 7/23/2022 11:59:59 PM |
| 7/27/2022 | 07/30/2022 | 7/30/2022 11:59:59 PM |
| 8/2/2022 | 08/06/2022 | 8/6/2022 11:59:59 PM |
| 8/8/2022 | 08/13/2022 | 8/13/2022 11:59:59 PM |
| 8/19/2022 | 08/20/2022 | 8/20/2022 11:59:59 PM |
| 9/26/2022 | 10/01/2022 | 10/1/2022 11:59:59 PM |
| 10/14/2022 | 10/15/2022 | 10/15/2022 11:59:59 PM |
| 10/29/2022 | 10/29/2022 | 10/29/2022 11:59:59 PM |

Die Kennzahl end\_of\_week wird im Diagrammobjekt erstellt, indem die Funktion weekend() verwendet und das Datumsfeld als Argument der Funktion übergeben wird. Die Funktion weekend() identifiziert, in welche Woche der Datumswert fällt, und gibt einen Zeitstempel für die letzte Millisekunde dieser Woche zurück.

Diagramm der Funktion weekend(), Diagrammobjektbeispiel

Diagramm der Funktion weekend(), Diagrammobjektbeispiel

Diagramm der Funktion weekend()weekend(), Diagrammobjektbeispiel![Das Diagramm zeigt, wie die Funktion „weekend“ ein Transaktionsdatum in einen Zeitstempel für die letzte Millisekunde der Woche konvertiert, in der die Transaktion stattfand.](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekend-examples-chart-object.png)

Transaktion 8191 fand am 5. Februar statt. Die Systemvariable FirstWeekDay legt den ersten Tag der Woche als Sonntag fest. Die Funktion weekend() identifiziert den ersten Samstag nach dem 5. Februar – und somit nach dem Ende der Woche – als den 5. Februar. Daher gibt der Wert end\_of\_week für diese Transaktion die letzte Millisekunde dieses Tages zurück, also den 5. Februar um 11:59:59 PM.

## Beispiel 5 – Szenario

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

#### Ladeskript und Diagrammformel

Ü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 Employee\_Expenses geladen wird

* Daten bestehend aus Mitarbeiter-IDs, Mitarbeiternamen und den durchschnittlichen täglichen Spesenanträge jedes Mitarbeiters

Der Endbenutzer möchte ein Diagrammobjekt, das nach Mitarbeiter-ID und Mitarbeiternamen die geschätzten Spesenanträge anzeigt, die für die restliche Woche noch anfallen.

Ladeskript

```
Employee_Expenses:
Load
*
Inline
[
employee_id,employee_name,avg_daily_claim
182,Mark, $15
183,Deryck, $12.5
184,Dexter, $12.5
185,Sydney,$27
186,Agatha,$18
];
```

Ergebnisse

Gehen Sie folgendermaßen vor:

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

   * employee\_id

   * employee\_name

2. Erstellen Sie dann eine Kennzahl, um die kumulierten Zinsen zu berechnen:

   =(weekend(today(1))-today(1))\*avg\_daily\_claim

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

Ergebnistabelle

| employee\_id | employee\_name | =(weekend(today(1))-today(1))\*avg\_daily\_claim |
| --- | --- | --- |
| 182 | Mark | $90.00 |
| 183 | Deryck | $75.00 |
| 184 | Dexter | $75.00 |
| 185 | Sydney | $162.00 |
| 186 | Agatha | $108.00 |

Da das aktuelle Datum als einziges Argument verwendet wird, gibt die Funktion weekend() das Enddatum der aktuellen Woche zurück. Dann zieht die Formel das aktuelle Datum vom Enddatum der Woche ab und gibt die Anzahl der in dieser Woche verbleibenden Tage zurück.

Dieser Wert wird dann mit den durchschnittlichen täglichen Spesenanträgen der einzelnen Mitarbeitern multipliziert, um den geschätzten Spesenbetrag pro Mitarbeiter für den verbleibenden Teil der Woche zu berechnen.