# inlunarweektodate Script- en diagramfunctie

Met deze functie wordt bepaald of timestamp binnen het gedeelte van de maanweek ligt tot en met de laatste milliseconde van base\_date. Maanweken in Qlik Sense worden gedefinieerd door het feit dat 1 januari wordt gezien als de eerste dag van de week en, met uitzondering van de laatste week van het jaar, bevat elke week precies zeven dagen.

Syntaxis:

InLunarWeekToDate (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.

Voorbeelddiagram van de `inlunarweektodate()`-functie

Voorbeelddiagram van de `inlunarweektodate()`-functie

Voorbeelddiagram van de `inlunarweektodate()`inlunarweektodate()-functie ![Voorbeelddiagram van de inlunarweektodate-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-inlunarweektodate-overview.png)

De `inlunarweektodate()`-functie functioneert als het eindpunt van de maanweek. Daarentegen bepaalt de `inlunarweek()`-functie in welke maanweek de `base_date` valt. Bijvoorbeeld: als de `base_date` 5 januari was, dan zou een tijdstempel tussen 1 januari en 5 januari een booleaans resultaat voor `TRUE` retourneren. Datums zoals 6 en 7 januari en zouden een booleaans resultaat voor `FALSE` retourneren.

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

## Wanneer gebruikt u inlunarweektodate

De functie `inlunarweektodate()` retourneert een booleaanse waarde. Dit type functie wordt doorgaans gebruikt als voorwaarde in een IF-uitdrukking. De `inlunarweektodate()`-functie zou worden gebruikt wanneer de gebruiker wil dat de berekening een aggregatie of berekening retourneert, afhankelijk van of de geëvalueerde datum in een bepaald deel van de week in kwestie heeft plaatsgevonden.

De functie `inlunarweektodate()` kan bijvoorbeeld worden gebruikt om alle materieel te identificeren die in een bepaalde week t/m een bepaalde datum is geproduceerd.

Voorbeelden van functies

| Voorbeeld | Resultaat |
| --- | --- |
| `inlunarweektodate('01/12/2013', '01/13/2013',<br>						0)` | Retourneert `TRUE`, omdat de waarde van `timestamp`, 01/12/2013, in het deel van de week van 01/08/2013 tot 01/13/2013 valt. |
| `inlunarweektodate('01/12/2013', '01/11/2013',<br>						0)` | Retourneert `FALSE` omdat de waarde `timestamp` later is dan de waarde `base_date` hoewel de twee datums in dezelfde maanweek vallen vóór 01/12/2012. |
| `inlunarweektodate('01/12/2006', '01/05/2006',<br>						1)` | Retourneert `TRUE`. Als een waarde van 1 wordt opgegeven voor `period_no`, wordt de `base_date` één week vooruit geschoven, zodat de waarde van `timestamp` in het deel van de maanweek valt. |

De functie `inlunarweektodate()` 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 een set transacties voor de maand januari die wordt geladen in de tabel `Transactions`. De standaard `DateFormat`-systeemvariabele mm/dd/jjjj wordt gebruikt.

* Maak een veld, `in_lunar_week_to_date`, dat bepaalt welke transacties in de maanweek tot de datum 10 januari plaatsvonden.

Load-script

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

Resultaten

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

* `date`

* `in_lunar_week_to_date`

Resultatentabel

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

`inlunarweektodate()`-functie, geen extra argumenten

`inlunarweektodate()`-functie, geen extra argumenten

`inlunarweektodate()`inlunarweektodate()-functie, geen extra argumenten ![Voorbeeld van het gebruik van de inlunarweektodate-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-inlunarweektodate-example-no-additional-arguments.png)

Het `in_lunar_week_to_date`-veld wordt gemaakt in de voorafgaande load-instructie met behulp van de `inlunarweektodate()`-functie en geeft het `date`-veld door, een vastgelegde tijdstempel voor 10 januari als onze `base_date` en een offset van 0 als de argumenten van de functie.

Omdat maanweken beginnen op 1 januari, zou 10 januari in de maakweek vallen die op 8 januari begint, en omdat we de `inlunarweektodate()`-functie gebruiken zou die maanweek eindigen op de 10e. 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/inlunarweektodate.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, is de taak om een veld te maken, `2_lunar_weeks_later`, dat bepaalt of de transacties al dan niet twee weken na de maanweek van 1 januari plaatsvonden.

Load-script

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

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

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

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

`inlunarweektodate()`inlunarweektodate()-functie, voorbeeld van period\_no ![Voorbeeld van het gebruik van de inlunarweektodate-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-inlunarweektodate-example-period-no.png)

In deze instantie bepaalt de `inlunarweektodate()`-functie dat de maanweek tot 10 januari gelijk is aan drie dagen (8, 9 en 10 januari). Omdat er een `period_no` van 2 is gebruikt als het offset-argument, wordt deze maanweek met 14 dagen verschoven. Dit zorgt er daarom voor dat de definitie van deze driedaagse maanweek bestaat uit 22, 23 en 24 januari. Iedere transactie die plaatsvindt tussen 22 januari en 24 januari zal 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/inlunarweektodate.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.

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

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

Load-script

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

Resultaten

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

* `date`

* `in_lunar_week_to_date`

Resultatentabel

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

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

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

`inlunarweektodate()`inlunarweektodate()-functie, first\_week\_day example ![Voorbeeld van het gebruik van de inlunarweektodate-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-inlunarweektodate-example-first-week-date.png)

In deze instantie loopt de eerste maanweek van 3 januari t/m 10 januari omdat het `the first_week_date`-argument 3 is gebruikt in de `inlunarweek()`-functie. Omdat 10 januari tevens de `base_date` is, retourneert iedere transactie die tussen deze twee datums valt, een booleaanse waarde van `TRUE`.

## Voorbeeld 4 – Diagramobjectvoorbeeld

#### 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 bepaalt of transacties plaatsvonden in de maanweek tot 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
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
];
```

Resultaten

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

Maak de volgende meting:

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

Resultatentabel

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

inlunarweektodate()-functie, diagramobjectvoorbeeld

inlunarweektodate()-functie, diagramobjectvoorbeeld

inlunarweektodate()inlunarweektodate()-functie, diagramobjectvoorbeeld ![Voorbeelddiagram van het gebruik van de inlunarweektodate-functie met een diagramuitdrukking om te bepalen of een transactie in de maanweek plaatsvindt waarin 10 januari valt.](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweektodate-example-chart-object.png)

De meting in\_lunar\_week\_to\_date wordt gemaakt in het diagramobject met behulp van de inlunarweektodate()-functie en geeft het datumveld door, een vastgelegde tijdstempel voor 10 januari als onze base\_date en een offset van 0 als de argumenten van de functie.

Omdat maanweken beginnen op 1 januari, zou 10 januari in de maakweek vallen die op 8 januari begint. Omdat we de inlunarweektodate()-functie gebruiken zou die maanweek eindigen op de 10e. Daarom zouden alle transacties die tussen deze datums in januari plaatsvinden, de booleaanse waarde TRUE retourneren. Dit wordt gevalideerd in de resultatentabel.

## Voorbeeld 5 – Scenario

#### Load-script en diagramuitdrukkingen

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. Op 13 januari is het probleem opgelost. De eindgebruiker wil graag een diagramobject dat op week de status toont of de geproduceerde producten 'defect' of 'foutloos' zijn en de kosten van de producten die in die week zijn geproduceerd.

Load-script

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

Resultaten

Doe het volgende:

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

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

   =weekname(manufacture\_date)

3. Maak vervolgens een dimensie om te maken die de inlunarweektodate()-functie gebruikt om te identificeren welke van de producten defect zijn en welke foutloos zijn:

   =if(inlunarweektodate(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.

Resultatentabel

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

De functie inlunarweektodate() retourneert een booleaanse waarde bij het evalueren van de productiedatums van elk product. Voor degenen die een booleaanse waarde van TRUE retourneren, markeert het de producten als ‘Defective’. Voor elk product dat een waarde retourneert van FALSE, en dus niet gemaakt in de maanweek tot en met 12 januari, markeert het de producten als ‘Faultless’.