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.
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
Overzicht
De load-instructie gebruikt dezelfde gegevensset 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.
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
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.
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
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.
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
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 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.
Was deze pagina nuttig?
Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!