# weekstart Script- en diagramfunctie

Deze functie retourneert een waarde die overeenkomt met een tijdstempel van de eerste milliseconde van de eerste dag van de kalenderweek die date bevat. De standaarduitvoernotatie is de DateFormat die is ingesteld in het script.

Syntaxis:

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

Retourgegevenstypen: dubbele waarde

De `weekstart()`-functie bepaalt welke week de datum in valt. Het retourneert vervolgens een tijdstempel, in datumnotatie, voor de eerste milliseconde van die week. De eerste dag van de week wordt bepaald door de omgevingsvariabele `FirstWeekDay`. Maar dit kan worden vervangen door het `first_week_day`-argument in de `weekstart()`-functie.

Argumenten

| Argument | Beschrijving |
| --- | --- |
| timestamp | De te evalueren datum of tijdstempel. |
| period\_no | shift is een geheel getal, waarbij de waarde 0 de week aangeeft die date bevat. Negatieve waarden in verschuiving geven voorgaande weken aan en positieve waarden geven volgende weken aan. |
| first\_week\_day | Geeft de dag op waarop de week begint. Bij weglating wordt de waarde van de variabele FirstWeekDay gebruikt.<br><br>De mogelijke first\_week\_day-waarden zijn 0 voor maandag, 1 voor dinsdag, 2 voor woensdag, 3 voor donderdag, 4 voor vrijdag, 5 voor zaterdag en 6 voor zondag.<br><br>Zie [FirstWeekDay](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) voor meer informatie over de systeemvariabele. |

## Wanneer gebruiken

De `weekstart()`-functie wordt doorgaans gebruikt als onderdeel van een uitdrukking als de gebruiker wil dat in de berekening het deel van de week wordt gebruikt dat al is geweest. Bijvoorbeeld: het zou kunnen worden gebruikt om het totale salaris te berekenen dat werknemers op een week tot dusver hebben verdiend.

De volgende voorbeelden gaan uit van het volgende:

```
SET FirstWeekDay=0;
```

Voorbeelden van functies

| Voorbeeld | Resultaat |
| --- | --- |
| `weekstart('01/12/2013')` | Retourneert 01/07/2013. |
| `weekstart('01/12/2013', -1 )` | Retourneert 11/31/2012. |
| `weekstart('01/12/2013', 0, 1)` | Retourneert 01/08/2013. |

## Landinstellingen

Tenzij anders aangegeven, wordt in de voorbeelden in dit onderwerp de volgende datumindeling gebruikt: MM/DD/YYYY. De datumopmaak wordt opgegeven in de opdracht `SET DateFormat` in uw script voor het laden van gegevens. De standaard datumindeling is mogelijk anders op uw systeem vanwege landinstellingen en andere factoren. U kunt de indelingen in de voorbeelden wijzigen zodat deze aansluiten op uw behoeften. Of u kunt de indelingen in uw load-script wijzigen zodat ze overeenkomen met deze voorbeelden.

Standaard landinstellingen in toepassingen zijn gebaseerd op de regionale systeeminstellingen van de computer of server waarop Qlik Sense is geïnstalleerd. Als de Qlik Sense-server die u gebruikt is ingesteld op Zweden, gebruikt de editor voor laden van gegevens de Zweedse landinstellingen voor datums, tijd en valuta. Deze landinstellingen voor indelingen zijn niet gerelateerd aan de taal die wordt weergegeven in de Qlik Sense gebruikersinterface. Qlik Sense wordt weergegeven in dezelfde taal als de browser die u gebruikt.

Voorbeelden:

Als u ISO-instellingen wilt voor weken en weeknummers, moet u het volgende opnemen in het script:

```
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
```

Als u US-instellingen wilt, moet u het volgende opnemen in het script:

```
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
```

De bovenstaande voorbeelden resulteren in het volgende op basis van de functie weekstart():

Voorbeeld van de functie Weekstart

| Datum | ISO eerste dag van de week | US eerste dag van de week |
| --- | --- | --- |
| Za 2020 Dec 26 | 2020-12-21 | 12/20/2020 |
| Zo 2020 Dec 27 | 2020-12-21 | 12/27/2020 |
| Ma 2020 Dec 28 | 2020-12-28 | 12/27/2020 |
| Di 2020 Dec 29 | 2020-12-28 | 12/27/2020 |
| Wo 2020 Dec 30 | 2020-12-28 | 12/27/2020 |
| Do 2020 Dec 31 | 2020-12-28 | 12/27/2020 |
| Vr 2021 Jan 1 | 2020-12-28 | 12/27/2020 |
| Za 2021 Jan 2 | 2020-12-28 | 12/27/2020 |
| Zo 2021 Jan 3 | 2020-12-28 | 1/3/2021 |
| Ma 2021 Jan 4 | 2021-01-04 | 1/3/2021 |
| Di 2021 Jan 5 | 2021-01-04 | 1/3/2021 |

InformatieDe week begint op maandag in de ISO-kolom en op zondag in de US-kolom.

## Voorbeeld 1 – geen aanvullende argumenten

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

#### Load-script en resultaten

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling met een set transacties voor 2022 die wordt geladen in de tabel Transactions.

* Het datumveld opgegeven in de DateFormat-systeemvariabele (MM/DD/YYYY) indeling.

* Het maken van een veld, start\_of\_week, dat een tijdstempel voor het begin van de week retourneert waarin de transactie plaatsvond.

Load-script

```
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
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* date

* start\_of\_week

* start\_of\_week\_timestamp

Resultatentabel

| date | 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 |

Het veld 'start\_of\_week' wordt gemaakt in de voorafgaande load-instructie met behulp van de functie weekstart() en geeft het datumveld door als het argument van de functie.

De weekstart()-functie identificeert aanvankelijk in welke week de datumwaarde valt en retourneert een tijdstempel voor de eerste milliseconde van die week.

Diagram van weekstart()-functie, voorbeeld zonder aanvullende argumenten

Diagram van weekstart()-functie, voorbeeld zonder aanvullende argumenten

Diagram van weekstart()weekstart()-functie, voorbeeld zonder aanvullende argumenten ![Het diagram toont hoe de weekstart-functie de transactiedatum omzet in een tijdstempel voor de eerste milliseconde van de week waarin de transactie plaatsvond.](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekstart-examples-no-add-arg.png)

Transactie 8191 vond plaats op 5 februari. De systeemvariabele FirstWeekDay stelt de eerste dag van de week in op een zondag. De weekstart()-functie identificeert dat de eerste zaterdag vóór 5 februari, en daarom het begin van de week, op 30 februari viel. Daarom retourneert de start\_of\_week-waarde voor die transactie de eerste milliseconde van die dag, die op 30 januari om 12:00:00 AM was.

## Voorbeeld 2 – period\_no

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

#### Load-script en resultaten

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Dezelfde gegevensset en het scenario uit het eerste voorbeeld.

* Het maken van een veld, previous\_week\_start, dat de tijdstempel voor het begin van het kwartaal retourneert voordat de transactie plaatsvond.

Load-script

```
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
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* date

* previous\_week\_start

* previous\_week\_start\_timestamp

Resultatentabel

| date | 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 |

In dit geval, omdat een period\_no van -1 werd gebruikt als het offset-argument in de weekstart()-functie, identificeert de functie eerst de week waarin de transacties plaatsvinden. Het kijkt dan een week eerder en identificeert de eerste milliseconde van die week.

Diagram van weekstart()-functie, voorbeeld period\_no

Diagram van weekstart()-functie, voorbeeld period\_no

Diagram van weekstart()weekstart()-functie, voorbeeld period\_no ![Het diagram toont hoe de weekstart-functie de transactiedatum omzet in een tijdstempel voor de eerste milliseconde van de week waarin de transactie plaatsvond.](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekstart-examples-period-no.png)

Transactie 8196 vond plaats op 15 juni. De weekstart()-functie identificeert dat de week op 12 juni begint. Daarom begon de vorige week op 5 juni om 12:00:00 AM; dit is de waarde die voor het previous\_week\_start-veld wordt geretourneerd.

## Voorbeeld 3 – first\_week\_day

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

#### Load-script en resultaten

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.

Het load-script bevat dezelfde gegevensset en scenario als het eerste voorbeeld. Maar in dit voorbeeld moeten we dinsdag instellen als de eerste dag van de werkweek.

Load-script

```
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
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* date

* start\_of\_week

* start\_of\_week\_timestamp

Resultatentabel

| date | 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 |

In dit geval geldt dat omdat het first\_week\_date-argument 1 wordt gebruikt in de weekstart()-functie, dinsdag als eerste dag van de week wordt ingesteld.

Diagram van de weekstart()-functie, voorbeeld met first\_week\_day

Diagram van de weekstart()-functie, voorbeeld met first\_week\_day

Diagram van de weekstart()weekstart()-functie, voorbeeld met first\_week\_day ![Het diagram toont hoe de weekstart-functie de transactiedatum omzet in een tijdstempel voor de eerste milliseconde van de week waarin de transactie plaatsvond.](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekstart-examples-first-week-day.png)

Transactie 8191 vond plaats op 5 februari. De weekstart()-functie identificeert dat de eerste dinsdag vóór deze datum, en daarom het begin van de week en geretourneerde waarde, op 1 februari om 12:00:00 AM viel.

## Voorbeeld 4 – diagramobjectvoorbeeld

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

#### Load-script en diagramuitdrukking

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.

Het load-script bevat dezelfde gegevensset en scenario als het eerste voorbeeld.

In dit voorbeeld wordt de ongewijzigde gegevensset echter in de applicatie geladen. De berekening die een tijdstempel retourneert voor het begin van de week waarin de transacties plaatsvonden, wordt gemaakt als meting in een diagramobject van de toepassing.

Load-script

```
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
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie: date.

Voeg de volgende metingen toe om het begin van de week waarin een transactie plaatsvindt te berekenen:

* =weekstart(date)

* =timestamp(weekstart(date))

Resultatentabel

| date | 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 |

De meting start\_of\_week wordt gemaakt in het diagramobject met behulp van de functie weekstart() en geeft het veld date door als het argument van de functie.

De weekstart()-functie identificeert aanvankelijk in welke week de datumwaarde valt en retourneert een tijdstempel voor de eerste milliseconde van die week.

Diagram van weekstart()-functie, diagramobjectvoorbeeld

Diagram van weekstart()-functie, diagramobjectvoorbeeld

Diagram van weekstart()weekstart()-functie, diagramobjectvoorbeeld ![Het diagram toont hoe de weekstart-functie de transactiedatum omzet in een tijdstempel voor de eerste milliseconde van de week waarin de transactie plaatsvond.](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekstart-examples-chart-object.png)

Transactie 8191 vond plaats op 5 februari. De systeemvariabele FirstWeekDay stelt de eerste dag van de week in op een zondag. De weekstart()-functie identificeert dat de eerste zondag vóór 5 februari, en daarom het begin van de week, op 30 januari viel. De start\_of\_week-waarde voor die transactie retourneert daarom de eerste milliseconde van die dag, 30 januari om 12:00:00 AM.

## Voorbeeld 5 – Scenario

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

#### Load-script en diagramuitdrukking

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensset die wordt geladen in een tabel met de naam Payroll.

* Gegevens omvatten werknemers-id's, werknemersnamen en het gemiddelde dagsalaris dat elke werknemer verdient.

Werknemers beginnen hun werk op maandag en werken zes dagen per week. De FirstWeekDay-systeemvariabele mag niet worden aangepast.

De eindgebruiker wil een diagramobject dat de salarissen weergeeft op werknemers-id en werknemersnaam, die in de week tot dusver zijn verdiend.

Load-script

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

Resultaten

Doe het volgende:

1. Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

   * employee\_id

   * employee\_name

2. Maak vervolgens een meting om de salarissen te berekenen die in de week tot dusver zijn verdiend:

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

3. Stel de Getalnotatie van de meting in op Geld.

Resultatentabel

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

De weekstart()-functie die door de datum van vandaag als het eerste argument en 0 als het derde argument te gebruiken, maandag instelt als de eerste dag van de week en de begindatum van de huidige week retourneert. Door dat resultaat af te trekken van de huidige datum, retourneert de uitdrukking vervolgens het aantal dagen dat in deze week tot nu toe is verstreken.

De voorwaarde bepaalt vervolgens of er meer dan zes dagen deze week zijn geweest. Als dat zo is dan wordt het day\_rate van de werknemer vermenigvuldigd met 6 dagen. Anders wordt het day\_rate vermenigvuldigd met het aantal dagen tot nu toe deze week.