# inday - script- en diagramfunctie

Deze functie retourneert True als timestamp binnen de dag valt die base\_timestamp bevat.

Syntaxis:

InDay (timestamp, base\_timestamp, period\_no[, day\_start])

Diagram van de `inday`-functie

Diagram van de `inday`-functie

Diagram van de `inday`inday-functie ![Diagram dat toont hoe de functie inday wordt gebruikt om een tijdsegment te identificeren en booleaanse waarden te retourneren op basis van dat segment.](https://help.qlik.com/nl-NL/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inday-diagram.png)

De functie `inday()` gebruikt het argument `base_timestamp` om te identificeren onder welke dag het tijdstempel valt. De begintijd van de dag is standaard middernacht, maar u kunt de begintijd van de dag wijzigen door het argument `day_start` van de functie `inday()` te gebruiken. Zodra deze dag is gedefinieerd, retourneert de functie de booleaanse waarden bij het vergelijken van de opgegeven tijdstempelwaarden van die dag.

Wanneer gebruiken

De functie `inday()` retourneert een booleaanse waarde. Dit type functie wordt doorgaans gebruikt als voorwaarde in een `if expression`. Hierdoor wordt een aggregatie of berekening geretourneerd, afhankelijk van het feit of een geëvalueerde datum plaatsvond op de dag van de desbetreffende tijdstempel.

De functie `inday()` bijvoorbeeld kan worden gebruikt om alle materieel te identificeren die op een bepaalde dag is geproduceerd.

Retourgegevenstypen: Booleaanse waarde

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

Argumenten

| Argument | Beschrijving |
| --- | --- |
| `timestamp` | De datum en tijd die u wilt vergelijken met `base_timestamp`. |
| `base_timestamp` | Datum en tijd op basis waarvan de tijdstempel wordt geëvalueerd. |
| `period_no` | De dag kan worden verschoven met `period_no`. `period_no` is een geheel getal, waarbij de waarde 0 de dag aangeeft die `base_timestamp` bevat. Negatieve waarden in `period_no` geven voorafgaande dagen aan en positieve waarden geven volgende dagen aan. |
| `day_start` | Als u wilt werken met dagen die niet om middernacht beginnen, kunt u een verschuiving als een fractie van een dag opgeven in `day_start`, bijvoorbeeld 0,125 voor 3 uur in de ochtend. |

## Landinstellingen

Tenzij anders aangegeven, wordt in de voorbeelden in dit onderwerp de volgende datumindeling gebruikt: MM/DD/JJJJ. 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 apps 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 gebruikersinterface van Qlik Sense. Qlik Sense wordt weergegeven in dezelfde taal als de browser die u gebruikt.

Voorbeelden van functies

| Voorbeeld | Resultaat |
| --- | --- |
| `inday` ('01/12/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', 0) | Retourneert True |
| ` inday  `('01/12/2006 12:23:00 PM', '01/13/2006 12:00:00 AM', 0) | Retourneert False |
| `inday` ('01/12/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', -1) | Retourneert False |
| `inday` ('01/11/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', -1) | Retourneert True |
| `inday` ('01/12/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', 0, 0.5) | Retourneert False |
| `inday` ('01/12/2006 11:23:00 AM', '01/12/2006 12:00:00 AM', 0, 0.5) | Retourneert True |

## Voorbeeld 1 – Load-instructie (script)

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

* Een gegevensverzameling met transacties per tijdstempel die wordt geladen in de tabel `Transactions`.

* Een datumveld dat wordt weergegeven in de `TimeStamp`-systeemvariabele `(M/D/YYYY h:mm:ss[.fff] TT)`-opmaak.

* Een voorafgaande lading met de functie `inday()` die is ingesteld als het veld `in_day`.

Load-script

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

Transactions:
    Load
        *,
        inday(date,'01/05/2022 12:00:00 AM', 0) as in_day
        ;
Load
*
Inline 
[
id,date,amount
9497,'01/01/2022 7:34:46 PM',13.24
9498,'01/01/2022 10:10:22 PM',31.43
9499,'01/02/2022 8:35:54 AM',36.34
9500,'01/03/2022 2:21:53 PM',51.75
9501,'01/04/2022 6:49:38 PM',15.35
9502,'01/04/2022 10:58:34 PM',74.34
9503,'01/05/2022 5:40:49 AM',73.53
9504,'01/05/2022 11:29:38 AM',50.00
9505,'01/05/2022 7:04:57 PM',47.25
9506,'01/06/2022 8:49:09 AM',74.23
];
```

Resultaten

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

* `date`

* `in_day`

Resultatentabel

| date | in\_day |
| --- | --- |
| 01/01/2022 7:34:46 PM | 0 |
| 01/01/2022 10:10:22 PM | 0 |
| 01/02/2022 8:35:54 AM | 0 |
| 01/03/2022 2:21:53 PM | 0 |
| 01/04/2022 6:49:38 PM | 0 |
| 01/04/2022 10:58:34 PM | 0 |
| 01/05/2022 5:40:49 AM | -1 |
| 01/05/2022 11:29:38 AM | -1 |
| 01/05/2022 7:04:57 PM | -1 |
| 01/06/2022 8:49:09 AM | 0 |

Het veld `in_day` wordt gemaakt in de voorafgaande load-instructie met behulp van de functie `inday()` en geeft het datumveld door, een vastgelegde tijdstempel voor 5 januari en een `period_no` of `0` als de argumenten van de functie.

## Voorbeeld 2 – period\_no

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

#### Load-script en resultaten

Overzicht

Het load-script gebruikt dezelfde gegevensverzameling en hetzelfde scenario als die in het eerste voorbeeld.

Maar in dit voorbeeld is de taak om te berekenen of de transactiedatum twee dagen vóór 5 januari plaatsvond.

Load-script

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

Transactions:
    Load
        *,
        inday(date,'01/05/2022 12:00:00 AM', -2) as in_day
        ;
Load
*
Inline 
[
id,date,amount
9497,'01/01/2022 7:34:46 PM',13.24
9498,'01/01/2022 10:10:22 PM',31.43
9499,'01/02/2022 8:35:54 AM',36.34
9500,'01/03/2022 2:21:53 PM',51.75
9501,'01/04/2022 6:49:38 PM',15.35
9502,'01/04/2022 10:58:34 PM',74.34
9503,'01/05/2022 5:40:49 AM',73.53
9504,'01/05/2022 11:29:38 AM',50.00
9505,'01/05/2022 7:04:57 PM',47.25
9506,'01/06/2022 8:49:09 AM',74.23
];
```

Resultaten

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

* `date`

* `in_day`

Resultatentabel

| date | in\_day |
| --- | --- |
| 01/01/2022 7:34:46 PM | 0 |
| 01/01/2022 10:10:22 PM | 0 |
| 01/02/2022 8:35:54 AM | 0 |
| 01/03/2022 2:21:53 PM | -1 |
| 01/04/2022 6:49:38 PM | 0 |
| 01/04/2022 10:58:34 PM | 0 |
| 01/05/2022 5:40:49 AM | 0 |
| 01/05/2022 11:29:38 AM | 0 |
| 01/05/2022 7:04:57 PM | 0 |
| 01/06/2022 8:49:09 AM | 0 |

In dit voorbeeld bepaalt de functie of elk van de transactiedatums op 3 januari plaatsvonden omdat een `period_no` of `-2` is gebruikt als het offset-argument in de functie `inday()`. Dit kan worden geverifieerd in de uitvoertabel waar één transactie een booleaans resultaat van WAAR retourneert.

## Voorbeeld 3 – day\_start-script

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

#### Load-script en resultaten

Overzicht

De load-instructie gebruikt dezelfde gegevensset en hetzelfde scenario als die in de voorgaande voorbeelden.

Maar in dit voorbeeld is het bedrijfsbeleid dat de werkdag begint en eindigt om 07.00 uur.

Load-script

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

Transactions:
    Load
        *,
        inday(date,'01/05/2022 12:00:00 AM', 0, 7/24) as in_day
        ;
Load
*
Inline 
[
id,date,amount
9497,'01/01/2022 7:34:46 PM',13.24
9498,'01/01/2022 10:10:22 PM',31.43
9499,'01/02/2022 8:35:54 AM',36.34
9500,'01/03/2022 2:21:53 PM',51.75
9501,'01/04/2022 6:49:38 PM',15.35
9502,'01/04/2022 10:58:34 PM',74.34
9503,'01/05/2022 5:40:49 AM',73.53
9504,'01/05/2022 11:29:38 AM',50.00
9505,'01/05/2022 7:04:57 PM',47.25
9506,'01/06/2022 8:49:09 AM',74.23
];
```

Resultaten

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

* `date`

* `in_day`

Resultatentabel

| date | in\_day |
| --- | --- |
| 01/01/2022 7:34:46 PM | 0 |
| 01/01/2022 10:10:22 PM | 0 |
| 01/02/2022 8:35:54 AM | 0 |
| 01/03/2022 2:21:53 PM | 0 |
| 01/04/2022 6:49:38 PM | -1 |
| 01/04/2022 10:58:34 PM | -1 |
| 01/05/2022 5:40:49 AM | -1 |
| 01/05/2022 11:29:38 AM | 0 |
| 01/05/2022 7:04:57 PM | 0 |
| 01/06/2022 8:49:09 AM | 0 |

De functie bepaalt of elk van de transactiedatums plaatsvonden op 4 januari vanaf 07.00 uur en 5 januari vóór 07.00 uur, omdat het argument `start_day` van 7/24, dat 07.00 uur is, is gebruikt in de functie `inday()`.

Dit kan worden geverifieerd in de uitvoertabel waarbij transacties die na 07.00 uur op 4 januari plaatsvinden een booleaans resultaat van WAAR retourneren en transacties die plaatsvinden na 07.00 uur op 5 januari een booleaans resultaat van ONWAAR.

## Voorbeeld 4 – diagramobject

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

#### Load-script en diagramuitdrukking

Overzicht

De load-instructie gebruikt dezelfde gegevensset en hetzelfde scenario als die in het eerste voorbeeld.de vorige voorbeelden.

In dit voorbeeld is de gegevensverzameling echter niet gewijzigd en wordt in de applicatie geladen. U maakt een berekening om te bepalen of een transactie plaatsvindt op 5 januari door een meting te maken in een diagramobject.

Load-script

```

Transactions:
Load
*
Inline 
[
id,date,amount
9497,'01/01/2022 7:34:46 PM',13.24
9498,'01/01/2022 10:10:22 PM',31.43
9499,'01/02/2022 8:35:54 AM',36.34
9500,'01/03/2022 2:21:53 PM',51.75
9501,'01/04/2022 6:49:38 PM',15.35
9502,'01/04/2022 10:58:34 PM',74.34
9503,'01/05/2022 5:40:49 AM',73.53
9504,'01/05/2022 11:29:38 AM',50.00
9505,'01/05/2022 7:04:57 PM',47.25
9506,'01/06/2022 8:49:09 AM',74.23
];
```

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 op 5 januari:

`=inday(date,'01/05/2022 12:00:00 AM',0)`

Resultatentabel

| date | inday(date,'01/05/2022 12:00:00 AM',0) |
| --- | --- |
| 01/01/2022 7:34:46 PM | 0 |
| 01/01/2022 10:10:22 PM | 0 |
| 01/02/2022 8:35:54 AM | 0 |
| 01/03/2022 2:21:53 PM | 0 |
| 01/04/2022 6:49:38 PM | 0 |
| 01/04/2022 10:58:34 PM | 0 |
| 01/05/2022 5:40:49 AM | -1 |
| 01/05/2022 11:29:38 AM | -1 |
| 01/05/2022 7:04:57 PM | -1 |
| 01/06/2022 8:49:09 AM | 0 |

## Voorbeeld 5 – Scenario

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

#### Load-script en resultaten

Overzicht

In dit voorbeeld is vastgesteld dat producten die op 5 januari zijn geproduceerd defect zijn vanwege een materieelfout. De eindgebruiker wil graag een diagramobject dat op datum de status toont van geproduceerde producten die 'defect' of 'foutloos' zijn en de kosten van de producten die op 5 januari zijn geproduceerd.

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

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam 'Producten'.

* De tabel bevat de volgende velden:

  * product ID

  * manufacture time

  * cost price

Load-script

```

Products:
Load
*
Inline 
[
product_id,manufacture_date,cost_price
9497,'01/01/2022 7:34:46 PM',13.24
9498,'01/01/2022 10:10:22 PM',31.43
9499,'01/02/2022 8:35:54 AM',36.34
9500,'01/03/2022 2:21:53 PM',51.75
9501,'01/04/2022 6:49:38 PM',15.35
9502,'01/04/2022 10:58:34 PM',74.34
9503,'01/05/2022 5:40:49 AM',73.53
9504,'01/05/2022 11:29:38 AM',50.00
9505,'01/05/2022 7:04:57 PM',47.25
9506,'01/06/2022 8:49:09 AM',74.23
];
```

Resultaten

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

=dayname(manufacture\_date)

Maak de volgende metingen:

* =if(only(InDay(manufacture\_date,makedate(2022,01,05),0)),'Defective','Faultless')

* =sum(cost\_price)

Stel de Getalnotatie van de meting in op Geld.

Onder Uiterlijk schakelt u Totaal uit.

Resultatentabel

| dayname(manufacture\_date) | =if(only(InDay(manufacture\_date,makedate(2022,01,05),0)),'Defective','Faultless') | =sum(cost\_price) |
| --- | --- | --- |
| 01/01/2022 | Foutloos | 44.67 |
| 01/02/2022 | Foutloos | 36.34 |
| 01/03/2022 | Foutloos | 51.75 |
| 01/04/2022 | Foutloos | 89.69 |
| 01/05/2022 | Defect | 170.78 |
| 01/06/2022 | Foutloos | 74.23 |

De functie inday() retourneert een booleaanse waarde bij het evalueren van de productiedatums van elk product. Voor elk product dat op 5 januari is geproduceerd, retourneert de functie inday() een booleaanse waarde voor WAAR en markeert de producten als 'Defect'. Voor elk product dat de waarde voor ONWAAR retourneert, en dus niet op die dag is geproduceerd, wordt het product als 'Foutloos' gemarkeerd.