Die Funktion inday() verwendet das Argument base_timestamp, um zu identifizieren, auf welchen Tag der Zeitstempel fällt. Die Startzeit des Tages ist standardmäßig Mitternacht, aber Sie können die Startzeit des Tages mit dem Argument day_start der Funktion inday() ändern. Nachdem dieser Tag definiert ist, gibt die Funktion boolesche Ergebnisse zurück, wenn die vorgegebenen Zeitstempelwerte mit diesem Tag verglichen werden.
Verwendung
Die Funktion inday() gibt einen booleschen Wert zurück. In der Regel wird dieser Funktionstyp als Bedingung in einer if expression verwendet. Dies gibt eine Aggregierung oder Berechnung zurück, abhängig davon, ob ein ausgewertetes Datum auf den Tag des betreffenden Zeitstempels fällt.
Beispielsweise kann die Funktion inday() verwendet werden, um alle an einem bestimmten Tag gefertigten Geräte zu identifizieren.
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
Wenn Sie mit Tagen arbeiten möchten, die nicht um Mitternacht beginnen, definieren Sie durch Eingabe einer reellen Zahl für day_start einen anderen Startzeitpunkt. Die Zahl repräsentiert Bruchteile von Tagen, zum Beispiel 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.
Die standardmäßigen regionalen Einstellungen in Apps basieren auf den regionalen Systemeinstellungen der Computer oder Server, auf denen Qlik Sense installiert ist. Wenn der Qlik Sense-Server, auf den Sie zugreifen, auf Schweden festgelegt ist, verwendet der Dateneditor die schwedischen regionalen Einstellungen für Datums-, Uhrzeit- und Währungsangaben. Diese Einstellungen im regionalen Format hängen nicht mit der Sprache zusammen, die in der Benutzeroberfläche von Qlik Sense angezeigt wird. Qlik Sense wird in der gleichen Sprache wie der von Ihnen verwendete Browser angezeigt.
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
Ergebnistabelle
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
Das Feld wird in der vorangehenden load-Anweisung erstellt, indem die Funktion verwendet und das Datumsfeld, ein hartcodierter Zeitstempel für den 5. Januar und ein von 0 als Argumente der Funktion übergeben werden.in_dayinday()period_no0
Beispiel 2 – period_no
Übersicht
Das Ladeskript verwendet den gleichen Datensatz und das gleiche Szenario, die im ersten Beispiel verwendet wurden.
In diesem Beispiel besteht die Aufgabe aber darin, zu berechnen, ob das Transaktionsdatum zwei Tage vor dem 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
Ergebnistabelle
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
Da in diesem Beispiel ein period_no von -2 als Versatzargument in der Funktion -2 verwendet wurde, bestimmt die Funktion, ob jedes Transaktionsdatum am 3. Januar stattfand. Dies kann in der Ausgabetabelle überprüft werden, wo eine Transaktion ein boolesches Ergebnis von inday() zurückgibt.
Beispiel 3 – day_start
Übersicht
Das Ladeskript verwendet den gleichen Datensatz und das gleiche Szenario, die im vorigen Beispiel verwendet wurden.
In diesem Beispiel beginnt und endet der Arbeitstag laut Unternehmensrichtlinie aber um 7 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
Ergebnistabelle
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
Da das Argument start_day von 7/24, was 7 Uhr morgens ist, in der Funktion inday() verwendet wird, bestimmt die Funktion, ob jedes Transaktionsdatum am 4. Januar ab 7 Uhr und am 5. Januar vor 7 Uhr stattfand.
Dies kann in der Ausgabetabelle überprüft werden, wo Transaktionen, die nach 7 Uhr am 4. Januar stattfanden, ein boolesches Ergebnis von zurückgeben, während Transaktionen, die nach 7 Uhr am 5. Januar stattfanden, ein boolesches Ergebnis von zurückgeben.
Beispiel 4 – Diagrammobjekt
Übersicht
Das Ladeskript verwendet den gleichen Datensatz und das gleiche Szenario, die im vorigen Beispiel verwendet wurden.
In diesem Beispiel wird jedoch der unveränderte Datensatz in die Anwendung geladen. Mit der Berechnung bestimmen Sie, ob eine Transaktion am 5. Januar 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:
date
Um zu berechnen, ob eine Transaktion am 5. Januar stattfindet, erstellen Sie die folgende Kennzahl:
=inday(date,'01/05/2022 12:00:00 AM',0)
Ergebnistabelle
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
Beispiel 5 – Szenario
Übersicht
In diesem Beispiel wurde festgestellt, dass aufgrund eines Gerätefehlers die am 5. Januar hergestellten Produkte mangelhaft waren. Der Endbenutzer möchte ein Diagrammobjekt haben, das nach Datum den Status der hergestellten Produkte angibt und zeigt, welche „mangelhaft“ und welche „einwandfrei“ waren und was die am 5. Januar gefertigten Produkte gekostet haben.
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Ein Datensatz, der in eine Tabelle namens „Products“ geladen wird.
Die Funktion inday() gibt einen booleschen Wert zurück, wenn sie das Herstellungsdatum der einzelnen Produkte auswertet. Für alle am 5. Januar hergestellten Produkte gibt die Funktion inday() einen booleschen Wert von TRUE zurück und markiert die Produkte als „Defective“. Alle Produkte, die einen Wert von FALSE zurückgeben und daher nicht an diesem Tag gefertigt wurden, werden als „Faultless“ markiert.
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!