# weekstart Skript- und Diagrammfunktion

Diese Funktion liefert den Zeitstempel der ersten Millisekunde des ersten Tags der Kalenderwoche, in der date liegt. Das Ergebnis wird entsprechend dem im Skript definierten DateFormat formatiert.

Syntax:

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

Rückgabe Datentyp: dual

Die Funktion `weekstart()` bestimmt, in welche Woche das Datum fällt. Sie gibt dann einen Zeitstempel im Datumsformat für die erste 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 `weekstart()` ü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/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm). |

## Verwendung

Die Funktion `weekstart()` wird in der Regel als Teil einer Formel verwendet, wenn in der Berechnung der Teil der Woche verwendet werden soll, der bereits verstrichen ist. Beispielsweise kann sie verwendet werden, um den Gesamtlohn zu berechnen, der bisher von den Mitarbeitern in der Woche verdient wurde.

Die folgenden Beispiele nehmen an:

```
SET FirstWeekDay=0;
```

Funktionsbeispiele

| Beispiel | Ergebnis |
| --- | --- |
| `weekstart('01/12/2013')` | Liefert 01/07/2013. |
| `weekstart('01/12/2013', -1 )` | Liefert 11/31/2012. |
| `weekstart('01/12/2013', 0, 1)` | Liefert 01/08/2013. |

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

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 weekstart():

Beispiel der Funktion „Weekstart“

| Datum | ISO-Wochenstart | US-Wochenstart |
| --- | --- | --- |
| Sat 2020 Dec 26 | 2020-12-21 | 12/20/2020 |
| Sun 2020 Dec 27 | 2020-12-21 | 12/27/2020 |
| Mon 2020 Dec 28 | 2020-12-28 | 12/27/2020 |
| Tue 2020 Dec 29 | 2020-12-28 | 12/27/2020 |
| Wed 2020 Dec 30 | 2020-12-28 | 12/27/2020 |
| Thu 2020 Dec 31 | 2020-12-28 | 12/27/2020 |
| Fri 2021 Jan 1 | 2020-12-28 | 12/27/2020 |
| Sat 2021 Jan 2 | 2020-12-28 | 12/27/2020 |
| Sun 2021 Jan 3 | 2020-12-28 | 1/3/2021 |
| Mon 2021 Jan 4 | 2021-01-04 | 1/3/2021 |
| Tue 2021 Jan 5 | 2021-01-04 | 1/3/2021 |

InformationshinweisIn der ISO-Spalte beginnt die Woche an Montagen, in der US-Spalte an Sonntagen.

## Beispiel 1 – keine zusätzlichen Argumente

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekstart.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 start\_of\_week, das den Zeitstempel für den Start der Woche zurückgibt, in der die Transaktionen stattfanden

Ladeskript

```
SET FirstWeekDay=6;

Transactions:
    Load
        *,
        weekstart(date) as start_of_week,
        timestamp(weekstart(date)) as start_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

* start\_of\_week

* start\_of\_week\_timestamp

Ergebnistabelle

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

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

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

Diagramm der Funktion weekstart(), Beispiel ohne zusätzliche Argumente

Diagramm der Funktion weekstart(), Beispiel ohne zusätzliche Argumente

Diagramm der Funktion weekstart()weekstart(), Beispiel ohne zusätzliche Argumente ![Das Diagramm zeigt, wie die Funktion „weekstart“ das Transaktionsdatum in einen Zeitstempel für die erste Millisekunde der Woche konvertiert, in der die Transaktion stattfand.](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekstart-examples-no-add-arg.png)

Transaktion 8191 fand am 5. Februar statt. Die Systemvariable FirstWeekDay legt den ersten Tag der Woche als Sonntag fest. Die Funktion weekstart() identifiziert den ersten Sonntag vor dem 5. Februar – und somit dem Start der Woche – als den 30. Januar. Daher gibt der Wert start\_of\_week für diese Transaktion die erste Millisekunde dieses Tages zurück, also den 30. Januar um 12:00:00 AM.

## Beispiel 2 – period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekstart.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\_start erstellt, das den Zeitstempel für den Start des Quartals vor dem Quartal zurückgibt, in dem die Transaktion stattfand.

Ladeskript

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

Transactions:
    Load
        *,
        weekstart(date,-1) as previous_week_start,
        timestamp(weekstart(date,-1)) as previous_week_start_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\_start

* previous\_week\_start\_timestamp

Ergebnistabelle

| Datum | previous\_week\_start | previous\_week\_start\_timestamp |
| --- | --- | --- |
| 1/7/2022 | 12/26/2021 | 12/26/2021 12:00:00 AM |
| 1/19/2022 | 01/09/2022 | 1/9/2022 12:00:00 AM |
| 2/5/2022 | 01/23/2022 | 1/23/2022 12:00:00 AM |
| 2/28/2022 | 02/20/2022 | 2/20/2022 12:00:00 AM |
| 3/16/2022 | 03/06/2022 | 3/6/2022 12:00:00 AM |
| 4/1/2022 | 03/20/2022 | 3/20/2022 12:00:00 AM |
| 5/7/2022 | 04/24/2022 | 4/24/2022 12:00:00 AM |
| 5/16/2022 | 05/08/2022 | 5/8/2022 12:00:00 AM |
| 6/15/2022 | 06/05/2022 | 6/5/2022 12:00:00 AM |
| 6/26/2022 | 06/19/2022 | 6/19/2022 12:00:00 AM |
| 7/9/2022 | 06/26/2022 | 6/26/2022 12:00:00 AM |
| 7/22/2022 | 07/10/2022 | 7/10/2022 12:00:00 AM |
| 7/23/2022 | 07/10/2022 | 7/10/2022 12:00:00 AM |
| 7/27/2022 | 07/17/2022 | 7/17/2022 12:00:00 AM |
| 8/2/2022 | 07/24/2022 | 7/24/2022 12:00:00 AM |
| 8/8/2022 | 07/31/2022 | 7/31/2022 12:00:00 AM |
| 8/19/2022 | 08/07/2022 | 8/7/2022 12:00:00 AM |
| 9/26/2022 | 09/18/2022 | 9/18/2022 12:00:00 AM |
| 10/14/2022 | 10/02/2022 | 10/2/2022 12:00:00 AM |
| 10/29/2022 | 10/16/2022 | 10/16/2022 12:00:00 AM |

Da in dieser Instanz eine period\_no von -1 als Versatzargument in der Funktion weekstart() verwendet wurde, identifiziert die Funktion zuerst die Woche, in der die Transaktionen stattfanden. Dann geht sie eine Woche zurück und identifiziert die erste Millisekunde dieser Woche.

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

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

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

Transaktion 8196 fand am 15. Juni statt. Die Funktion weekstart() identifiziert, dass die Woche am 12. Juni beginnt. Daher begann die vorherige Woche am 5. Juni um 12:00:00 AM; dies ist der Wert, der für das Feld previous\_week\_start zurückgegeben wird.

## Beispiel 3 – first\_week\_day

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekstart.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
        *,
        weekstart(date,0,1) as start_of_week,
        timestamp(weekstart(date,0,1)) as start_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

* start\_of\_week

* start\_of\_week\_timestamp

Ergebnistabelle

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

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

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

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

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

Transaktion 8191 fand am 5. Februar statt. Die Funktion weekstart() identifiziert, dass der erste Dienstag vor diesem Datum – und somit der Start der Woche und der zurückgegebene Wert – der 1. Februar um 12:00:00 AM war.

## Beispiel 4 – Diagrammobjektbeispiel

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

* =weekstart(date)

* =timestamp(weekstart(date))

Ergebnistabelle

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

Die Kennzahl start\_of\_week wird im Diagrammobjekt erstellt, indem die Funktion weekstart() verwendet und das Feld date als Argument der Funktion übergeben wird.

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

Diagramm der Funktion weekstart(), Diagrammobjektbeispiel

Diagramm der Funktion weekstart(), Diagrammobjektbeispiel

Diagramm der Funktion weekstart()weekstart(), Diagrammobjektbeispiel ![Das Diagramm zeigt, wie die Funktion „weekstart“ das Transaktionsdatum in einen Zeitstempel für die erste Millisekunde der Woche konvertiert, in der die Transaktion stattfand.](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekstart-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 weekstart() identifiziert, dass der erste Sonntag vor dem 5. Februar – und damit der Start der Woche – der 30. Januar war. Daher gibt der Wert für start\_of\_week dieser Transaktion die erste Millisekunde dieses Tages zurück, also den 30. Januar um 12:00:00 AM.

## Beispiel 5 – Szenario

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

* Daten bestehend aus Mitarbeiter-IDs, Mitarbeiternamen und dem täglich von jedem Mitarbeiter verdienten Lohn

Mitarbeiter beginnen am Montag mit der Arbeit und arbeiten sechs Tage pro Woche. Die Systemvariable FirstWeekDay darf nicht geändert werden.

Der Endbenutzer möchte ein Diagrammobjekt, das nach Mitarbeiter-ID und Mitarbeiternamen den in der Woche bis dato verdienten Lohn anzeigt.

Ladeskript

```
Payroll: 
Load
*
Inline 
[
employee_id,employee_name,day_rate
182,Mark, $150
183,Deryck, $125
184,Dexter, $125
185,Sydney,$270
186,Agatha,$128
];
```

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 den in der Woche bis dato verdienten Lohn zu berechnen:

   =if(today(1)-weekstart(today(1),0,0)&lt;7,(today(1)-weekstart(today(1),0,0))\*day\_rate,day\_rate\*6)

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

Ergebnistabelle

| employee\_id | employee\_name | =if(today(1)-weekstart(today(1),0,0)&lt;7,(today(1)-weekstart(today(1),0,0))\*day\_rate,day\_rate\*6) |
| --- | --- | --- |
| 182 | Mark | $600.00 |
| 183 | Deryck | $500.00 |
| 184 | Dexter | $500.00 |
| 185 | Sydney | $1080.00 |
| 186 | Agatha | $512.00 |

Da die Funktion weekstart() das aktuelle Datum als erstes Argument und 0 als drittes Argument verwendet, wird Montag als der erste Tag der Woche festgelegt und das Startdatum der aktuellen Woche zurückgegeben. Die Formel zieht dieses Ergebnis vom aktuellen Datum ab und gibt dann die Anzahl der Tage zurück, die bisher in der Woche verstrichen sind.

Mit der Bedingung wird dann ausgewertet, ob diese Woche mehr als sechs Tage lang war. Wenn dies der Fall ist, wird die day\_rate des Mitarbeiters mit 6 multipliziert. Andernfalls wird die day\_rate mit der Anzahl der Tage multipliziert, die bisher in dieser Woche verstrichen sind.