# inlunarweek Script- en diagramfunctie

Deze functie bepaalt of timestamp binnen de maanweek valt die base\_date bevat. Maanweken in Qlik Sense worden gedefinieerd door het feit dat 1 januari wordt gezien als de eerste dag van de week. Met uitzondering van de laatste week van het jaar, bevat elke week precies zeven dagen.

Syntaxis:

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

Retourgegevenstypen: Booleaanse waarde

Informatie

In Qlik Sense wordt de booleaanse waarde Waar vertegenwoordigd door -1 en de waarde Onwaar door 0.

De `inlunarweek()`-functie bepaalt welke maanweek de `base_date` in valt. Er wordt vervolgens een booleaanse waarde geretourneerd zodra de functie heeft bepaald of iedere tijdstempelwaarde binnen dezelfde maanweek valt als de `base_date`.

Diagram van de `inlunarweek()`-functie

Diagram van de `inlunarweek()`-functie

Diagram van de `inlunarweek()`inlunarweek()-functie ![Voorbeelddiagram van de inlunarweek-functie waarin de datums worden getoond waarvoor de functie een TRUE-waarde retourneert op basis van de invoerinformatie.](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweek-overview.png)

## Wanneer gebruikt u inlunarweek

De functie `inlunarweek()` retourneert een booleaanse waarde. Dit type functie wordt doorgaans gebruikt als voorwaarde in een IF-uitdrukking. Dit retourneert een aggregatie of berekening afhankelijk van of de geëvalueerde datum plaatsvond in de betreffende maanweek.

De functie `inlunarweek()` kan bijvoorbeeld worden gebruikt om alle materieel te identificeren die in een bepaalde maanweek is geproduceerd.

Argumenten

| Argument | Beschrijving |
| --- | --- |
| timestamp | De datum die u wilt vergelijken met base\_date. |
| base\_date | Datum op basis waarvan de maanweek wordt geëvalueerd. |
| period\_no | De maanweek kan worden verschoven met period\_no. period\_no is een geheel getal, waarbij de waarde 0 de maanweek aangeeft die base\_date bevat. Negatieve waarden in period\_no geven voorafgaande maanweken aan en positieve waarden geven volgende maanweken aan. |
| first\_week\_day | Een verschuiving kan groter of kleiner zijn dan nul. Hiermee wordt het begin van het jaar gewijzigd met het opgegeven aantal dagen en/of fracties van een dag. |

Voorbeelden van functies

| Voorbeeld | Resultaat |
| --- | --- |
| `inlunarweek('01/12/2013', '01/14/2013',<br>0)` | Retourneert `TRUE`, omdat de waarde van `timestamp`, 01/12/2013, in de week van 01/08/2013 tot 01/14/2013 valt. |
| `inlunarweek('01/12/2013', '01/07/2013',<br>0)` | Retourneert `FALSE`, omdat de `base_date` 01/07/2013 in de maanweek valt die is ingesteld op 01/01/2013 tot 01/07/2013. |
| `inlunarweek('01/12/2013', '01/14/2013',<br>-1)` | Retourneert `FALSE`. Door het opgeven van een waarde van period\_no als -1 wordt de week naar de vorige week verschoven, van 01/01/2013 t/m 01/07/2013. |
| `inlunarweek('01/07/2013', 01/14/2013',<br>-1)` | Retourneert `TRUE`. In vergelijking met het voorafgaande voorbeeld ligt de `timestamp` in de volgende week daarna als wordt rekening gehouden met de terugwaartse verschuiving. |
| `inlunarweek('01/11/2006', '01/08/2006',<br>0, 3)` | Retourneert `FALSE`. Door een waarde van 3 op te geven voor `first_week_day`, wordt het begin van het jaar berekend vanaf 01/04/2013. Daarom valt de waarde van `base`\_date in de eerste week en de waarde van `timestamp` in de week van 01/11/2013 t/m 01/17/2013. |

De functie `inlunarweek()` wordt vaak gebruikt in combinatie met de volgende functies:

Gerelateerde functies

| Functie | Interactie |
| --- | --- |
| [lunarweekname Script- en diagramfunctie](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.htm) | Deze functie wordt gebruikt om het maanweeknummer te bepalen van het jaar waarin een invoerdatum valt. |

## 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. Ga voor meer informatie naar [Regionale instellingen voor applicaties en scripts aanpassen](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Standaard landinstellingen in applicaties zijn gebaseerd op het gebruikersprofiel. Deze landinstellingen voor indelingen zijn niet gerelateerd aan de taal die wordt weergegeven in de gebruikersinterface van Qlik Cloud. Qlik Cloud wordt weergegeven in dezelfde taal als de browser die u gebruikt.

Als u een applicatie-ontwikkelaar bent, kunt u de standaardregio instellen voor applicaties die u maakt. Ga voor meer informatie naar [Instellen van uw voorkeur voor regionale instellingen voor het maken van apps en scripts in Qlik Cloud Analyse](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

## Voorbeeld 1 – Geen aanvullende argumenten

#### 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 transacties voor de maand januari die wordt geladen in de tabel `Transactions`.

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

Maak een veld, `in_lunar_week`, dat bepaalt of de transacties in dezelfde maanweek plaatsvonden als 10 januari.

Load-script

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

Transactions:
    Load
        *,
        inlunarweek(date,'01/10/2022', 0) as in_lunar_week
        ;
Load
*
Inline 
[
id,date,amount
8183,'1/5/2022',42.32
8184,'1/6/2022',68.22
8185,'1/7/2022',15.25
8186,'1/8/2022',25.26
8187,'1/9/2022',37.23
8188,'1/10/2022',37.23
8189,'1/11/2022',17.17
8190,'1/12/2022',88.27
8191,'1/13/2022',57.42
8192,'1/14/2022',53.80
8193,'1/15/2022',82.06
8194,'1/16/2022',87.21
8195,'1/17/2022',95.93
8196,'1/18/2022',45.89
8197,'1/19/2022',36.23
8198,'1/20/2022',25.66
8199,'1/21/2022',82.77
8200,'1/22/2022',69.98
8201,'1/23/2022',76.11
];
```

Resultaten

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

* `date`

* `in_lunar_week`

Resultatentabel

| date | in\_lunar\_week |
| --- | --- |
| 1/5/2022 | 0 |
| 1/6/2022 | 0 |
| 1/7/2022 | 0 |
| 1/8/2022 | -1 |
| 1/9/2022 | -1 |
| 1/10/2022 | -1 |
| 1/11/2022 | -1 |
| 1/12/2022 | -1 |
| 1/13/2022 | -1 |
| 1/14/2022 | -1 |
| 1/15/2022 | 0 |
| 1/16/2022 | 0 |
| 1/17/2022 | 0 |
| 1/18/2022 | 0 |
| 1/19/2022 | 0 |
| 1/20/2022 | 0 |
| 1/21/2022 | 0 |
| 1/22/2022 | 0 |
| 1/23/2022 | 0 |

`inlunarweek()`-functie, basisvoorbeeld

`inlunarweek()`-functie, basisvoorbeeld

`inlunarweek()`inlunarweek()-functie, basisvoorbeeld ![Voorbeeld van het gebruik van de inlunarweek-functie waarin de reeks datums worden getoond waarvoor de functie een TRUE-waarde retourneert op basis van de invoerinformatie.](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweek-basic-example.png)

Het veld `in_lunar_week` wordt gemaakt in de voorafgaande load-instructie met behulp van de `inlunarweek()`-functie en geeft vervolgens het volgende door als de argumenten van de functie:

* Het `date`-veld

* Een vastgelegde datum van 10 januari als de `base_date`

* Een `period_no` van 0

Omdat maanweken op 1 januari beginnen, zou 10 januari in de maanweek vallen die begint op 8 januari en eindigt op 14 januari. Daarom zouden alle transacties die tussen deze datums in januari plaatsvinden, de booleaanse waarde `TRUE` retourneren. Dit wordt gevalideerd in de resultatentabel.

## Voorbeeld 2 – period\_no

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

#### Voorbeelden 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 datumveld is opgegeven in de `DateFormat`-systeemvariabele (MM/DD/YYYY) indeling.

Maak een veld, `2_lunar_weeks_later`, dat bepaalt of de transacties in dezelfde maanweek plaatsvonden als 10 januari.

Load-script

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

Transactions:
    Load
        *,
        inlunarweek(date,'01/10/2022', 2) as [2_lunar_weeks_later]
        ;
Load
*
Inline 
[
id,date,amount
8183,'1/5/2022',42.32
8184,'1/6/2022',68.22
8185,'1/7/2022',15.25
8186,'1/8/2022',25.26
8187,'1/9/2022',37.23
8188,'1/10/2022',37.23
8189,'1/11/2022',17.17
8190,'1/12/2022',88.27
8191,'1/13/2022',57.42
8192,'1/14/2022',53.80
8193,'1/15/2022',82.06
8194,'1/16/2022',87.21
8195,'1/17/2022',95.93
8196,'1/18/2022',45.89
8197,'1/19/2022',36.23
8198,'1/20/2022',25.66
8199,'1/21/2022',82.77
8200,'1/22/2022',69.98
8201,'1/23/2022',76.11
];
```

Resultaten

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

* `date`

* `2_lunar_weeks_later`

Resultatentabel

| date | 2\_lunar\_weeks\_later |
| --- | --- |
| 1/5/2022 | 0 |
| 1/6/2022 | 0 |
| 1/7/2022 | 0 |
| 1/8/2022 | 0 |
| 1/9/2022 | 0 |
| 1/10/2022 | 0 |
| 1/11/2022 | 0 |
| 1/12/2022 | 0 |
| 1/13/2022 | 0 |
| 1/14/2022 | 0 |
| 1/15/2022 | 0 |
| 1/16/2022 | 0 |
| 1/17/2022 | 0 |
| 1/18/2022 | 0 |
| 1/19/2022 | 0 |
| 1/20/2022 | 0 |
| 1/21/2022 | 0 |
| 1/22/2022 | -1 |
| 1/23/2022 | -1 |

`inlunarweek()`-functie, voorbeeld van period\_no

`inlunarweek()`-functie, voorbeeld van period\_no

`inlunarweek()`inlunarweek()-functie, voorbeeld van period\_no ![inlunarweek-functie, voorbeeld van period_no](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweek-period-no.png)

In dit voorbeeld definieert de functie de week die begint op 22 januari als de maanweek op basis waarvan transacties moeten worden gevalideerd omdat een `period_no` van 2 is gebruikt als het offset-argument in de `inlunarweek()`-functie. Daarom zal elke transactie die plaatsvindt tussen 22 januari en 28 januari een booleaans resultaat van `TRUE` retourneren.

## Voorbeeld 3 – first\_week\_day

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inlunarweek.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 gebruikt dezelfde gegevensset en scenario als het eerste voorbeeld. Maar in dit voorbeeld stellen we het begin van de maanweek in op 6 januari.

* Dezelfde gegevensset en het scenario uit het eerste voorbeeld.

* De standaard `DateFormat`-systeemvariabele mm/dd/jjjj wordt gebruikt.

* Een `first_week_day`-argument van 5. Dit stelt het begin van de maanweken in op 5 januari.

Load-script

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

Transactions:
    Load
        *,
        inlunarweek(date,'01/10/2022', 0,5) as in_lunar_week
        ;
Load
*
Inline 
[
id,date,amount
8183,'1/5/2022',42.32
8184,'1/6/2022',68.22
8185,'1/7/2022',15.25
8186,'1/8/2022',25.26
8187,'1/9/2022',37.23
8188,'1/10/2022',37.23
8189,'1/11/2022',17.17
8190,'1/12/2022',88.27
8191,'1/13/2022',57.42
8192,'1/14/2022',53.80
8193,'1/15/2022',82.06
8194,'1/16/2022',87.21
8195,'1/17/2022',95.93
8196,'1/18/2022',45.89
8197,'1/19/2022',36.23
8198,'1/20/2022',25.66
8199,'1/21/2022',82.77
8200,'1/22/2022',69.98
8201,'1/23/2022',76.11
];
```

Resultaten

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

* `date`

* `in_lunar_week`

Resultatentabel

| date | in\_lunar\_week |
| --- | --- |
| 1/5/2022 | 0 |
| 1/6/2022 | -1 |
| 1/7/2022 | -1 |
| 1/8/2022 | -1 |
| 1/9/2022 | -1 |
| 1/10/2022 | -1 |
| 1/11/2022 | -1 |
| 1/12/2022 | -1 |
| 1/13/2022 | 0 |
| 1/14/2022 | 0 |
| 1/15/2022 | 0 |
| 1/16/2022 | 0 |
| 1/17/2022 | 0 |
| 1/18/2022 | 0 |
| 1/19/2022 | 0 |
| 1/20/2022 | 0 |
| 1/21/2022 | 0 |
| 1/22/2022 | 0 |
| 1/23/2022 | 0 |

`inlunarweek()`-functie, first\_week\_day example

`inlunarweek()`-functie, first\_week\_day example

`inlunarweek()`inlunarweek()-functie, first\_week\_day example ![Voorbeeld van het gebruik van de inlunarweek-functie waarin de reeks datums worden getoond waarvoor de functie een TRUE-waarde retourneert op basis van de invoerinformatie.](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweek-first-week-day.png)

In dit geval wordt het begin van de maanweekkalender verschoven naar 6 januari omdat in het `first_week_date`-argument van 5 wordt gebruikt in de functie `inlunarweek()`. Daarom valt 10 januari in de maanweek die begint op 6 januari en eindigt op 12 januari. Iedere transactie die tussen deze twee datums valt, retourneert een booleaanse waarde voor `TRUE`.

## Voorbeeld 4 – Diagramobject

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

* Dezelfde gegevensset en het scenario uit het eerste voorbeeld.

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

In dit voorbeeld wordt de ongewijzigde gegevensset echter in de applicatie geladen. De berekening die bepaalt of transacties plaatsvonden in dezelfde maanweek als 10 januari, is gemaakt als meting in een diagramobject van de toepassing.

Load-script

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

Transactions:
Load
*
Inline 
[
id,date,amount
8183,'1/5/2022',42.32
8184,'1/6/2022',68.22
8185,'1/7/2022',15.25
8186,'1/8/2022',25.26
8187,'1/9/2022',37.23
8188,'1/10/2022',37.23
8189,'1/11/2022',17.17
8190,'1/12/2022',88.27
8191,'1/13/2022',57.42
8192,'1/14/2022',53.80
8193,'1/15/2022',82.06
8194,'1/16/2022',87.21
8195,'1/17/2022',95.93
8196,'1/18/2022',45.89
8197,'1/19/2022',36.23
8198,'1/20/2022',25.66
8199,'1/21/2022',82.77
8200,'1/22/2022',69.98
8201,'1/23/2022',76.11
];
```

Resultaten

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

Maak de volgende meting om te berekenen of een transactie plaatsvindt in de maanweek waarin 10 januari valt:

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

Resultatentabel

| date | =inlunarweek(date,'01/10/2022', 0) |
| --- | --- |
| 1/5/2022 | 0 |
| 1/6/2022 | 0 |
| 1/7/2022 | 0 |
| 1/8/2022 | -1 |
| 1/9/2022 | -1 |
| 1/10/2022 | -1 |
| 1/11/2022 | -1 |
| 1/12/2022 | -1 |
| 1/13/2022 | -1 |
| 1/14/2022 | -1 |
| 1/15/2022 | 0 |
| 1/16/2022 | 0 |
| 1/17/2022 | 0 |
| 1/18/2022 | 0 |
| 1/19/2022 | 0 |
| 1/20/2022 | 0 |
| 1/21/2022 | 0 |
| 1/22/2022 | 0 |
| 1/23/2022 | 0 |

## Voorbeeld 5 – Scenario

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

* Informatie met daarin product-id, productiedatum en kostprijs.

Er is vastgesteld dat producten die in de maanweek van 12 januari zijn geproduceerd defect zijn vanwege een materieelfout. De eindgebruiker wil graag een diagramobject dat op maanweeknaam de status toont of de geproduceerde producten 'defect' of 'foutloos' zijn en de kosten van de producten die in die maand zijn geproduceerd.

Load-script

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

Transactions:
Load
*
Inline 
[
product_id,manufacture_date,cost_price
8183,'1/5/2022',42.32
8184,'1/6/2022',68.22
8185,'1/7/2022',15.25
8186,'1/8/2022',25.26
8187,'1/9/2022',37.23
8188,'1/10/2022',37.23
8189,'1/11/2022',17.17
8190,'1/12/2022',88.27
8191,'1/13/2022',57.42
8192,'1/14/2022',53.80
8193,'1/15/2022',82.06
8194,'1/16/2022',87.21
8195,'1/17/2022',95.93
8196,'1/18/2022',45.89
8197,'1/19/2022',36.23
8198,'1/20/2022',25.66
8199,'1/21/2022',82.77
8200,'1/22/2022',69.98
8201,'1/23/2022',76.11
];
```

Resultaten

Doe het volgende:

1. Laad de gegevens en open een werkblad. Maak een nieuwe tabel.

2. Maak een dimensie om de maandnamen weer te geven:

   =lunarweekname(manufacture\_date)

3. Maak een dimensie om te identificeren welke van de producten defect zijn en welke foutloos zijn met behulp van de inlunarweek()-functie:

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

4. Maak een meting om de cost\_price van de producten op te tellen:

   =sum(cost\_price)

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

6. Onder Uiterlijk schakelt u Totaal uit.

Resultatentabel

| lunarweekname(manufacture\_date) | =if(only(inlunarweek(manufacture\_date,makedate(2022,01,12),0)), 'Defect','Foutloos') | sum(cost\_price) |
| --- | --- | --- |
| 2022/01 | Foutloos | $125.79 |
| 2022/02 | Defect | $316.38 |
| 2022/03 | Foutloos | $455.75 |
| 2022/04 | Foutloos | $146.09 |

De functie inlunarweek() retourneert een booleaanse waarde bij het evalueren van de productiedatums van elk product. Voor elk product dat wordt geproduceerd in de maanweek waarin 10 januari valt, retourneert de inlunarweek()-functie een booleaanse waarde voor TRUE en markeert de producten als 'Defect'. Voor elk product dat de waarde voor FALSE retourneert, en dus niet in die week is geproduceerd, wordt het product als 'Foutloos' gemarkeerd.