Diese Funktion liefert True, wenn timestamp in dem Teil des Tages liegt, der base_timestamp enthält, und zwar bis auf die Millisekunde von base_timestamp.
Die Funktion indaytotime() gibt ein boolesches Ergebnis zurück, abhängig davon, wann ein Zeitstempelwert während des Tagesabschnitts eintritt. Die Startgrenze für dieses Segment ist der Tagesbeginn. Der Standardwert ist Mitternacht, aber dies kann durch das Argument day_start der Funktion indaytotime() geändert werden. Die Endgrenze des Tagessegments wird von einem Argument base_timestamp der Funktion bestimmt.
Verwendung
Die Funktion indaytotime() gibt einen booleschen Wert zurück. In der Regel wird dieser Funktionstyp als Bedingung in einer if expression verwendet. Die Funktion indaytotime() gibt eine Aggregierung oder Berechnung zurück, abhängig davon, ob ein Zeitstempel in dem Segment des Tages liegt, bis zu und einschließlich der Uhrzeit des Basis-Zeitstempels.
Beispielsweise kann die Funktion indaytotime() verwendet werden, um die Summe der Eintrittskartenverkäufe für Vorstellungen zu zeigen, die am heutigen Tag bisher stattgefunden haben.
Rückgabe Datentyp: Boolesch
In Qlik Sense wird der boolesche Wert „wahr“ durch -1 dargestellt, der Wert „falsch“ durch 0.
Argumente
Argument
Beschreibung
timestamp
Datum und Uhrzeit, die mit base_timestamp verglichen werden sollen.
base_timestamp
Datum und Uhrzeit, die zur Interpretation des Zeitstempels verwendet werden.
period_no
Mit period_no kann ein anderer Tagesbeginn definiert werden. period_no ist eine ganze Zahl, wobei 0 für den Tag steht, der base_timestamp enthält. Negative Werte von period_no stehen für vorangehende, positive Werte für nachfolgende Tage.
day_start
(Optional) Wenn Sie mit Tagen arbeiten möchten, die nicht um Mitternacht beginnen, geben Sie einen Versatz als Bruch eines Tages in day_start ein. Verwenden Sie beispielsweise 0,125 für 3 Uhr morgens.
Regionaleinstellungen
Sofern nicht anders angegeben, verwenden die Beispiele in diesem Thema das folgende Datumsformat: MM/TT/JJJJ. Das Datumsformat wird in der Anweisung SET DateFormat in Ihrem Datenladeskript angegeben. Das Standarddatumsformat in Ihrem System kann aufgrund Ihrer regionalen Einstellungen und anderer Faktoren abweichen. Sie können die Formate in den Beispielen unten Ihren Anforderungen entsprechend ändern. Sie können auch die Formate in Ihrem Ladeskript entsprechend den Beispielen ändern. Weitere Informationen finden Sie unter Ändern von regionalen Einstellungen für Apps und Skripte.
Regionale Standardeinstellungen in Apps basieren auf dem Benutzerprofil. Diese Einstellungen im regionalen Format hängen nicht mit der Sprache zusammen, die in der Benutzeroberfläche von Qlik Cloud angezeigt wird. Qlik Cloud wird in der gleichen Sprache wie der von Ihnen verwendete Browser angezeigt.
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Ein Datensatz, der eine Reihe von Transaktionen für den Zeitraum zwischen dem 4. und 5. Januar enthält und in eine Tabelle mit dem Namen „Transactions“ geladen wird.
Ein Datumsfeld, das im Format (M/D/YYYY h:mm:ss[.fff] TT) der Systemvariablen TimeStamp bereitgestellt wird.
Ein vorangehender load-Befehl, der die Funktion indaytotime() enthält, die auf 'in_day_to_time' festgelegt ist. Dieses Feld bestimmt für jede Transaktion, ob sie vor 9:00 Uhr stattfindet.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
date
in_day_to_time
Ergebnistabelle
Datum
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
Das in_day_to_time field wird in der vorangegangenen load-Anweisung erstellt, indem die Funktion indaytotime() verwendet und das Datumsfeld, ein hartcodierter Zeitstempel für 9:00 Uhr 5. Januar und ein Versatz von 0 als Argumente der Funktion übergeben werden. Alle Transaktionen, die zwischen Mitternacht und 9:00 Uhr am 5. Januar erfolgen, geben WAHR zurück.
Beispiel 2 – period_no
Übersicht
Das Ladeskript verwendet den gleichen Datensatz und das gleiche Szenario, die im ersten Beispiel verwendet wurden.
In diesem Beispiel berechnen Sie aber, ob das Transaktionsdatum einen Tag vor 9:00 Uhr am 5. Januar lag.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
date
in_day_to_time
Ergebnistabelle
Datum
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
Da in diesem Beispiel ein Versatz von -1 als Versatzargument in der Funktion indaytotime() verwendet wurde, bestimmt die Funktion, ob jedes Transaktionsdatum vor 9:00 Uhr am 4. Januar stattfand. Dies kann in der Ausgabetabelle überprüft werden, wo eine Transaktion ein boolesches Ergebnis von WAHR zurückgibt.
Beispiel 3 – day_start
Übersicht
Es werden derselbe Datenatz und dasselbe Szenario wie im ersten Beispiel verwendet.
In diesem Beispiel beginnt und endet der Arbeitstag laut Unternehmensrichtlinie aber um 8 Uhr.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
date
in_day_to_time
Ergebnistabelle
Datum
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
Da das Argument start_day von 8/24, das 8:00 Uhr morgens entspricht, in der Funktion indaytotime() verwendet wird, beginnt und endet jeder Tag um 8:00 Uhr. Daher gibt die Funktion indaytotime() ein boolesches Ergebnis von TRUE für jede Transaktion zurück, die am 5. Januar zwischen 8:00 und 9:00 Uhr stattgefunden hat.
Beispiel 4 – Diagrammobjekt
Überblick
Es werden derselbe Datensatz und dasselbe Szenario wie im ersten Beispiel verwendet.
In diesem Beispiel wird jedoch der unveränderte Datensatz in die Anwendung geladen. Mit der Berechnung bestimmen Sie, ob eine Transaktion am 5. Januar vor 9:00 Uhr stattfindet, indem Sie eine Kennzahl in einem Diagrammobjekt erstellen.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu:
datedurch.
Um zu bestimmen , ob eine Transaktion am 5. Januar vor 9:00 Uhr stattfindet, erstellen Sie die folgende Kennzahl:
=indaytotime(date,'01/05/2022 9:00:00 AM',0)
Ergebnistabelle
Datum
=indaytotime(date,'01/05/2022 9: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
Die Kennzahl in_day_to_time wird im Diagrammobjekt erstellt, indem die Funktion indaytotime() verwendet und das Datumsfeld, ein hartcodierter Zeitstempel für 5. Januar 9:00 Uhr und ein Versatz von 0 als Argumente der Funktion übergeben werden. Alle Transaktionen, die zwischen Mitternacht und 9:00 Uhr am 5. Januar erfolgen, geben WAHR zurück. Dies wird in der Ergebnistabelle validiert.
Beispiel 5 – Szenario
Übersicht
In diesem Beispiel wird ein Datensatz für Eintrittskartenverkäufe für ein örtliches Kino in eine Tabelle namens Ticket_Sales geladen. Heute ist der 3. Mai 2022, und es ist 11:00 Uhr.
In diesem Fall wünscht sich der Benutzer ein KPI-Diagrammobjekt, das den Umsatz aus allen Vorstellungen zeigt, die am heutigen Tag bisher stattgefunden haben.
Erstellen Sie eine Kennzahl, die die Summe aller Eintrittskartenverkäufe für Vorstellungen zeigt, die am heutigen Tag bisher stattgefunden haben. Verwenden Sie hierfür die Funktion indaytotime():
Erstellen Sie eine Beschriftung für das KPI-Objekt, „Current Revenue“.
Legen Sie die Zahlenformatierung der Kennzahl auf Währung fest.
Die Summe der Eintrittskartenverkäufe bis 11:00 Uhr am 3. Mai 2022 beträgt 52,50 $.
Die Funktion indaytotime () gibt einen booleschen Wert zurück, wenn die Vorstellungszeiten für jeden der Eintrittskartenverkäufe mit der aktuellen Uhrzeit verglichen werden ('05/03/2022 11:00:00 AM’). Für jede Vorstellung am 3. Mai vor 11:00 Uhr gibt die Funktion indaytotime () einen booleschen Wert von TRUE zurück, und der Eintrittskartenpreis wird in die Gesamtsumme eingeschlossen.
Hat diese Seite Ihnen geholfen?
Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!