Deze functie retourneert True als timestamp binnen het gedeelte van de dag ligt dat base_timestamp bevat tot en met de exacte milliseconde van base_timestamp.
De indaytotime()-functie retourneert een booleaans resultaat afhankelijk van het feit wanneer een tijdstempelwaarde plaatsvindt tijdens het segment van de dag. De begingrens van dit segment is het begin van de dag, die standaard is ingesteld op middernacht. Het begin van de dag dit kan worden aangepast via het argument day_start van de functie indaytotime(). De eindgrens van het dagsegment wordt bepaald door een base_timestamp-argument van de functie.
Wanneer gebruiken
De functie indaytotime() retourneert een booleaanse waarde. Dit type functie wordt doorgaans gebruikt als voorwaarde in een if expression. De functie indaytotime() retourneert een aggregatie of berekening afhankelijk van het feit of een tijdstempel aanwezig is in het segment van de dag tot en met de tijd van de basistijdstempel.
De functie indaytotime() kan bijvoorbeeld worden gebruikt om de som van ticketverkopen te tonen voor shows die tot nu toe vandaag hebben plaatsgevonden.
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
(Optioneel) 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 gebruik 0.125 voor 3 AM
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.
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 voor de periode tussen 4 en 5 januari wordt geladen in een tabel met de naam '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 indaytotime() dat is ingesteld als 'in_day_to_time', het veld dat bepaalt of de transacties vóór 09.00 AM plaatsvinden.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
date
in_day_to_time
Resultatentabel
date
in_day_to_time
01/04/2022 3:41:54 AM
0
01/04/2022 4:19:43 AM
0
01/04/2022 04:53:47 AM
0
01/04/2022 8:38:53 AM
0
01/04/2022 10:37:52 AM
0
01/04/2022 1:54:10 PM
0
01/04/2022 5:53:23 PM
0
01/04/2022 8:13:26 PM
0
01/04/2022 10:00:49 PM
0
01/05/2022 7:45:37 AM
-1
01/05/2022 8:44:36 AM
-1
01/05/2022 11:26:08 AM
0
01/05/2022 6:43:08 PM
0
01/05/2022 10:54:10 PM
0
01/05/2022 11:09:09 PM
0
Het in_day_to_time field wordt gemaakt in de voorafgaande load-instructie met behulp van de indaytotime()-functie en geeft het datumveld door, een vastgelegde tijdstempel voor 09.00 uur op 5 januari en een offset van 0 als de argumenten van de functie. Alle transacties die plaatsvinden tussen middernacht en 09.00 uur op 5 januari retourneren TRUE.
Voorbeeld 2 – period_no
Overzicht
De load-instructie gebruikt dezelfde gegevensset en hetzelfde scenario als die in het eerste voorbeeld.
Maar in dit voorbeeld berekent u of de transactiedatum één dag vóór 09.00 uur op 5 januari plaatsvond.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
date
in_day_to_time
Resultatentabel
date
in_day_to_time
01/04/2022 3:41:54 AM
-1
01/04/2022 4:19:43 AM
-1
01/04/2022 04:53:47 AM
-1
01/04/2022 8:38:53 AM
-1
01/04/2022 10:37:52 AM
0
01/04/2022 1:54:10 PM
0
01/04/2022 5:53:23 PM
0
01/04/2022 8:13:26 PM
0
01/04/2022 10:00:49 PM
0
01/05/2022 7:45:37 AM
0
01/05/2022 8:44:36 AM
0
01/05/2022 11:26:08 AM
0
01/05/2022 6:43:08 PM
0
01/05/2022 10:54:10 PM
0
01/05/2022 11:09:09 PM
0
In dit voorbeeld bepaalt de functie of elk van de transactiedatums vóór 09.00 uur op 4 januari plaatsvonden omdat een offset-argument van -1 is gebruikt in de indaytotime()-functie. Dit kan worden geverifieerd in de uitvoertabel waar een transactie een booleaans resultaat van TRUE retourneert.
Voorbeeld 3 – day_start-script
Overzicht
Dezelfde gegevensverzameling en het scenario uit het eerste voorbeeld worden gebruikt.
Maar in dit voorbeeld is het bedrijfsbeleid dat de werkdag begint en eindigt om 8 AM.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
date
in_day_to_time
Resultatentabel
date
in_day_to_time
01/04/2022 3:41:54 AM
0
01/04/2022 4:19:43 AM
0
01/04/2022 04:53:47 AM
0
01/04/2022 8:38:53 AM
0
01/04/2022 10:37:52 AM
0
01/04/2022 1:54:10 PM
0
01/04/2022 5:53:23 PM
0
01/04/2022 8:13:26 PM
0
01/04/2022 10:00:49 PM
0
01/05/2022 7:45:37 AM
0
01/05/2022 8:44:36 AM
-1
01/05/2022 11:26:08 AM
0
01/05/2022 6:43:08 PM
0
01/05/2022 10:54:10 PM
0
01/05/2022 11:09:09 PM
0
Omdat het argument start_day van 8/24, dat overeenkomt met 8:00 AM, wordt gebruikt in de functie indaytotime(), begint en eindigt elke dag om 8:00 AM. Daarom zal de functie indaytotime() een booleaanse waarde voor WAAR retourneren voor elke transactie die plaatsvond tussen 8:00 AM en 9:00 AM op 5 januari.
Voorbeeld 4 – diagramobject
Overzicht
Dezelfde gegevensverzameling en het scenario uit het eerste voorbeeld worden gebruikt.
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 vóór 09.00 uur 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 vóór 09.00 uur:
=indaytotime(date,'01/05/2022 9:00:00 AM',0)
Resultatentabel
date
inday(date,'01/05/2022 12:00:00 AM',0)
01/04/2022 3:41:54 AM
0
01/04/2022 4:19:43 AM
0
01/04/2022 04:53:47 AM
0
01/04/2022 8:38:53 AM
0
01/04/2022 10:37:52 AM
0
01/04/2022 1:54:10 PM
0
01/04/2022 5:53:23 PM
0
01/04/2022 8:13:26 PM
0
01/04/2022 10:00:49 PM
0
01/05/2022 7:45:37 AM
-1
01/05/2022 8:44:36 AM
-1
01/05/2022 11:26:08 AM
0
01/05/2022 6:43:08 PM
0
01/05/2022 10:54:10 PM
0
01/05/2022 11:09:09 PM
0
De meting in_day_to_time wordt gemaakt in het diagramobject met behulp van de functie indaytotime() en geeft het datumveld door, een vastgelegde tijdstempel voor 09.00 uur op 5 januari en een offset van 0 als de argumenten van de functie. Alle transacties die plaatsvinden tussen middernacht en 09.00 uur op 5 januari retourneren TRUE. Dit wordt gevalideerd in de resultatentabel.
Voorbeeld 5 – Scenario
Overzicht
In dit voorbeeld wordt een gegevensverzameling met ticketverkopen voor een lokale bioscoop geladen in een tabel met de naam Ticket_Sales. Vandaag is het 3 mei 2022 en het is 11:00 AM.
De gebruiker wil graag een KPI-diagramobject gebruiken om de omzet te tonen van alle shows die tot dusver vandaag hebben plaatsgevonden.
Maak met behulp van de functie indaytotime() een meting die de som toont van alle ticketverkopen voor shows die tot dusver vandaag hebben plaatsgevonden:
Maak een label voor het KPI-object, ‘Current Revenue’.
Stel de Getalnotatie van de meting in op Geld.
Het totaal van ticketverkopen tot 11:00 AM op 3 mei 2022 is $52,50.
De functie indaytotime () retourneert een booleaanse waarde bij het vergelijken van de showtijden van elk van de ticketverkopen met de huidige tijd ('05/03/2022 11:00:00 AM’). Voor elke show op 3 mei vóór 11:00 AM retourneert de functie indaytotime () een booleaanse waarde WAAR en de ticketprijs wordt meegenomen in het somtotaal.
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!