Diese Funktion gibt einen Zeitstempel der aktuellen Uhrzeit zurück. Die Funktion gibt Werte im Systemvariablenformat TimeStamp zurück. Der Standardwert von timer_mode ist 1.
Syntax:
now([
timer_mode])
Rückgabe Datentyp: dual
Die Funktion now() kann entweder im Ladeskript oder in Diagrammobjekten verwendet werden.
Argumente
Argument
Beschreibung
timer_mode
Kann folgende Werte haben:
0 (Uhrzeit des letzten abgeschlossenen Datenladevorgangs) 1 (Uhrzeit des Funktionsaufrufs) 2 (Uhrzeit beim Öffnen der App)
InformationshinweisWenn Sie die Funktion im Datenladeskript verwenden, ergibt timer_mode=0 die Uhrzeit des letzten abgeschlossenen Datenladevorgangs, während timer_mode=1 die Zeit des Funktionsaufrufs zum Laden der aktuellen Daten angibt.
TipphinweisDie Funktion now() hat eine hochperformante Auswirkung, was zu Scrollproblemen führen könnte, wenn die Funktion innerhalb der Formeln von Tabellen verwendet wird. Sofern deren Verwendung nicht absolut notwendig ist, empfehlen wir, stattdessen die Funktion today() zu verwenden. Wenn die Verwendung von now() in einem Layout erforderlich ist, empfehlen wir, sofern möglich, die nicht standardmäßigen Einstellungen now(0) oder now(2), da hierfür keine ständigen Neuberechnungen nötig sind.
Verwendung
Die Funktion now() wird häufig als Komponente innerhalb einer Formel verwendet. Beispielsweise kann sie verwendet werden, um die verbleibende Zeit im Lebenszyklus eines Produkts zu berechnen. Die Funktion now() kann anstelle der Funktion today() verwendet werden, wenn in der Formel ein Bruchteil eines Tages verwendet werden muss.
Die folgende Tabelle erläutert das Ergebnis, das von der Funktion now() bei verschiedenen Werten für das Argument timer_mode zurückgegeben wird:
Funktionsbeispiele
timer_mode value
Ergebnis bei Verwendung im Ladeskript
Ergebnis bei Verwendung im Diagrammobjekt
0
Gibt einen Zeitstempel im Format der SystemvariablenTimeStamp für den letzten erfolgreichen Datenladevorgang vor dem neuesten Datenladevorgang zurück.
Gibt einen Zeitstempel im Format der Systemvariablen TimeStamp für den neuesten Datenladevorgang zurück.
1
Gibt einen Zeitstempel im Format der Systemvariablen TimeStamp für den neuesten Datenladevorgang zurück.
Gibt einen Zeitstempel im Format der Systemvariablen TimeStamp für den Funktionsaufruf zurück.
2
Gibt einen Zeitstempel im Format der Systemvariablen TimeStamp für den Zeitpunkt zurück, zu dem die Sitzung des Benutzers in der Anwendung begann. Dieser wird erst aktualisiert, wenn der Benutzer das Skript neu lädt.
Gibt den Zeitstempel im Format der Systemvariablen TimeStamp für den Zeitpunkt zurück, zu dem die Sitzung des Benutzers in der Anwendung begann. Dieser wird aktualisiert, wenn eine neue Sitzung beginnt oder wenn die Daten in der Anwendung neu geladen werden.
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.
Beispiel 1 – Generierung von Objekten anhand des Ladeskripts
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
In diesem Beispiel werden drei Variablen mit der Funktion now() erstellt. Jede Variable verwendet eine der Optionen timer_mode, um deren Auswirkung zu demonstrieren.
Damit der Zweck der Variablen demonstriert wird, laden Sie das Skript und laden Sie es nach einer kurzen Wartezeit ein zweites Mal. Das führt dazu, dass die Variablen now(0) und now(1) unterschiedliche Werte zeigen und damit ihren Zweck demonstrieren.
Ladeskript
LET vPreviousDataLoad = now(0);
LET vCurrentDataLoad = now(1);
LET vApplicationOpened = now(2);
Ergebnisse
Erstellen Sie drei Textfelder anhand der Anleitung unten, sobald die Daten ein zweites Mal geladen wurden.
Erstellen Sie zunächst ein Textfeld für zuvor geladene Daten.
Gehen Sie folgendermaßen vor:
Erstellen Sie ein Textfeld mithilfe des Diagrammobjekts Text und Bild.
Fügen Sie dem Objekt die folgende Kennzahl hinzu:
=vPreviousDataLoad
Wählen Sie unter Darstellung die Option Show titles aus und fügen Sie den Titel „Zeit des vorherigen Neuladevorgangs“ zum Objekt hinzu.
Erstellen Sie als Nächstes ein Textfeld für Daten, die derzeit geladen werden.
Gehen Sie folgendermaßen vor:
Erstellen Sie ein Textfeld mithilfe des Diagrammobjekts Text und Bild.
Fügen Sie dem Objekt die folgende Kennzahl hinzu:
=vCurrentDataLoad
Wählen Sie unter Darstellung die Option Show titles aus und fügen Sie den Titel „Zeit des aktuellen Neuladevorgangs“ zum Objekt hinzu.
Erstellen Sie ein letztes Textfeld, das anzeigt, wann die Sitzung des Benutzers in der Anwendung gestartet wurde.
Gehen Sie folgendermaßen vor:
Erstellen Sie ein Textfeld mithilfe des Diagrammobjekts Text und Bild.
Fügen Sie dem Objekt die folgende Kennzahl hinzu:
=vApplicationOpened
Wählen Sie unter Darstellung die Option Show titles aus und fügen Sie den Titel „Start der Benutzersitzung“ zum Objekt hinzu.
Die obige Abbildung zeigt Beispielwerte für jede der erstellten Variablen. Die Werte können beispielsweise wie folgt aussehen:
Vorherige Ladezeit: 6/22/2022 8:54:03 AM
Aktuelle Ladezeit: 6/22/2022 9:02:08 AM
Beginn der Benutzersitzung: 6/22/2022 8:40:40 AM
Beispiel 2 – Generierung von Objekten ohne Ladeskript
Übersicht
In diesem Beispiel erstellen Sie drei Diagrammobjekte anhand der Funktion now(), ohne Variablen oder Daten in die Anwendung zu laden. Jedes Diagrammobjekt verwendet eine der Optionen für timer_mode, um deren Auswirkung zu demonstrieren.
Für dieses Beispiel gibt es kein Ladeskript.
Gehen Sie folgendermaßen vor:
Öffnen Sie den Dateneditor.
Ändern Sie das vorhandene Ladeskript nicht und klicken Sie auf Daten laden.
Laden Sie das Skript nach einer kurzen Wartezeit ein zweites Mal.
Ergebnisse
Nachdem die Daten ein zweites Mal geladen wurden, erstellen Sie drei Textfelder.
Erstellen Sie zuerst ein Textfeld für den neuesten Datenladevorgang.
Gehen Sie folgendermaßen vor:
Erstellen Sie ein Textfeld mithilfe des Diagrammobjekts Text und Bild.
Fügen Sie die folgende Kennzahl hinzu.
=now(0)
Wählen Sie unter Darstellung die Option Titel anzeigen aus und fügen Sie den Titel „Neuester Datenladevorgang“ zum Objekt hinzu.
Erstellen Sie dann ein Textfeld, das die aktuelle Uhrzeit anzeigt.
Gehen Sie folgendermaßen vor:
Erstellen Sie ein Textfeld mithilfe des Diagrammobjekts Text und Bild.
Fügen Sie die folgende Kennzahl hinzu:
=now(1)
Wählen Sie unter Darstellung die OptionTitel anzeigen aus und fügen Sie den Titel „Aktuelle Uhrzeit“ zum Objekt hinzu.
Erstellen Sie ein letztes Textfeld, das anzeigt, wann die Sitzung des Benutzers in der Anwendung gestartet wurde.
Gehen Sie folgendermaßen vor:
Erstellen Sie ein Textfeld mithilfe des Diagrammobjekts Text und Bild.
Fügen Sie die folgende Kennzahl hinzu:
=now(2)
Wählen Sie unter Darstellung die Option Titel anzeigen aus und fügen Sie den Titel „Beginn der Benutzersitzung“ zum Objekt hinzu.
Die obige Abbildung zeigt Beispielwerte für jedes der erstellten Objekte. Die Werte können beispielsweise wie folgt aussehen:
Neuester Datenladevorgang: 6/22/2022 9:02:08 AM
Aktuelle Uhrzeit: 6/22/2022 9:25:16 AM
Beginn der Benutzersitzung: 6/22/2022 8:40:40 AM
Das Diagrammobjekt „Neuester Datenladevorgang“ verwendet einen Wert für timer_mode von 0. Damit wird ein Zeitstempel für die Uhrzeit zurückgegeben, zu der die Daten zum letzten Mal erfolgreich geladen wurden.
Das Diagrammobjekt „Aktuelle Uhrzeit“ verwendet einen Wert für timer_mode von 1. Damit wird die aktuelle Uhrzeit der Systemuhr zurückgegeben. Wenn das Arbeitsblatt oder Objekt aktualisiert wird, wird dieser Wert aktualisiert.
Das Diagrammobjekt „Beginn der Benutzersitzung“ verwendet einen Wert für timer_mode von 2. Damit wird der Zeitstempel des Zeitpunkts zurückgegeben, zu dem die Anwendung geöffnet wurde und die Benutzersitzung begann.
Beispiel 3 – Szenario
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Ein Datensatz mit dem Verzeichnis für das Schürfen einer Kryptowährung wird in eine Tabelle namens Inventory geladen.
Die Daten umfassen die folgenden Felder: id, purchase_date und wph (Watt pro Stunde).
Der Benutzer möchte eine Tabelle, die nach id die Gesamtkosten angibt, die für jede Schürfrunde bisher im Monat für den Stromverbrauch angefallen sind.
Dieser Wert soll aktualisiert werden, sooft das Diagrammobjekt aktualisiert wird. Die aktuellen Stromkosten belaufen sich auf $0,0678 pro kWh.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu: id.
Erstellen Sie die folgende Kennzahl:
=(now(1)-monthstart(now(1)))*24*wph/1000*0.0678
Wenn das Diagrammobjekt am 6/22/2022 um 10:39:05 AM aktualisiert wurde, gibt es die folgenden Ergebnisse zurück:
Ergebnistabelle
id
=(now(1)-monthstart(now(1)))*24*wph/1000*0.0678
8188
$39.18
8189
$49.97
8190
$42.81
8191
$46.13
8192
$44.42
8193
$39.18
8194
$46.83
8195
$81.72
8196
$42.95
8197
$42.95
8198
$39.18
8199
$42.29
8200
$42.67
8201
$42.99
8202
$42.99
8203
$42.25
8204
$43.37
8205
$46.13
8206
$39.53
Der Benutzer möchte, dass die Objektergebnisse jedes Mal aktualisiert werden, wenn das Objekt aktualisiert wird. Daher wird das Argument timer_mode für Instanzen der Funktion now() in der Formel angegeben. Der Zeitstempel für den Start des Monats, der mittels Verwendung der Funktion now() als Zeitstempelargument in der Funktion monthstart() identifiziert wird, wird von der aktuellen Uhrzeit abgezogen, die von der Funktion now() identifiziert wird. Dies ergibt die gesamte Zeit, die bisher im Monat verstrichen ist, in Tagen.
Dieser Wert wird mit 24 (der Anzahl Stunden eines Tages) und dann mit dem Wert im Feldwph multipliziert.
Um den Wert von Watt pro Stunde in Kilowatt pro Stunde zu konvertieren, wird das Ergebnis durch 1000 dividiert, bevor es schließlich mit dem angegebenen Preis pro kWh multipliziert wird.
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!