# today - Skript- und Diagrammfunktion

Diese Funktion gibt das aktuelle Datum zurück. Die Funktion gibt Werte im Systemvariablenformat `DateFormat` zurück.

Syntax:

today([ timer\_mode])

Rückgabe Datentyp: dual

Die Funktion `today()` kann entweder im Ladeskript oder in Diagrammobjekten verwendet werden.

Der Standardwert von `timer_mode` ist 1.

Argumente

| Argument | Beschreibung |
| --- | --- |
| timer\_mode | Kann folgende Werte haben:<br><br>0 (Tag des letzten abgeschlossenen Datenladevorgangs)<br>1 (Tag des Funktionsaufrufs)<br>2 (Tag beim Öffnen der App)<br><br>InformationshinweisWenn Sie die Funktion in einem Ladeskript verwenden, gibt timer\_mode=0 den Tag des letzten abgeschlossenen Datenladevorgangs an, während timer\_mode=1 den Tag des aktuellen Datenladevorgangs angibt. |

Funktionsbeispiele

| timer\_mode-Wert | Ergebnis bei Verwendung im Ladeskript | Ergebnis bei Verwendung im Diagrammobjekt |
| --- | --- | --- |
| 0 | Gibt ein Datum im Format der Systemvariablen `DateFormat` für den letzten erfolgreichen Datenladevorgang vor dem neuesten Datenladevorgang zurück. | Gibt ein Datum im Format der Systemvariablen `DateFormat` für den neuesten Datenladevorgang zurück. |
| 1 | Gibt ein Datum im Format der Systemvariablen `DateFormat` für den neuesten Datenladevorgang zurück. | Gibt ein Datum im Format der Systemvariablen `DateFormat` für den Funktionsaufruf zurück. |
| 2 | Gibt ein Datum im Format der Systemvariablen `DateFormat` 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 das Datum im Format der Systemvariablen `DateFormat` 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. |

## Verwendung

Die Funktion `today()` wird häufig als Komponente innerhalb einer Formel verwendet. Zum Beispiel kann sie verwendet werden, um die Zinsen zu berechnen, die in einem Monat bis dato aufgelaufen sind.

Die folgende Tabelle erläutert das Ergebnis, das von der Funktion `today()` bei verschiedenen Werten für das Argument `timer_mode` zurückgegeben wird:

## 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.

## Beispiel 1 – Generierung von Objekten anhand des Ladeskripts

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/today.htm)

#### Ladeskript und Ergebnisse

Übersicht

Im folgenden Beispiel werden drei Variablen mit der Funktion `today()` 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 24 Stunden ein zweites Mal. Das führt dazu, dass die Variablen `today(0)` und `today(1)` unterschiedliche Werte zeigen und damit ihren Zweck demonstrieren.

Ladeskript

```
LET vPreviousDataLoad = today(0);
LET vCurrentDataLoad = today(1);
LET vApplicationOpened = today(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:

1. Erstellen Sie ein Textfeld mithilfe des Diagrammobjekts Text und Bild.

2. Fügen Sie dem Objekt die folgende Kennzahl hinzu:

   `=vPreviousDataLoad`

3. 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:

1. Erstellen Sie ein Textfeld mithilfe des Diagrammobjekts Text und Bild.

2. Fügen Sie dem Objekt die folgende Kennzahl hinzu:

   `=vCurrentDataLoad`

3. 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:

1. Erstellen Sie ein Textfeld mithilfe des Diagrammobjekts Text und Bild.

2. Fügen Sie dem Objekt die folgende Kennzahl hinzu:

   `=vApplicationOpened`

3. Wählen Sie unter Darstellung die Option Show titles aus und fügen Sie den Titel „Start der Benutzersitzung“ zum Objekt hinzu.

Diagramm mit Variablen, die anhand der Funktion `today()` im Ladeskript erstellt wurden

Diagramm mit Variablen, die anhand der Funktion `today()` im Ladeskript erstellt wurden

Diagramm mit Variablen, die anhand der Funktion `today()`today() im Ladeskript erstellt wurden![Das Diagramm zeigt, wie jedes der drei generierten Textfelder aussehen kann, nachdem die Funktion „today()“ zum Laden der Variablen über das Ladeskript verwendet wurde.](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-today-example-variables-script.png)

Die obige Abbildung zeigt Beispielwerte für jede der erstellten Variablen. Die Werte können beispielsweise wie folgt aussehen:

* Vorherige Ladezeit: 06/22/2022

* Aktuelle Ladezeit: 06/23/2022

* Beginn der Benutzersitzung: 06/23/2022

## Beispiel 2 – Generierung von Objekten ohne Ladeskript

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/today.htm)

#### Ladeskript und Diagrammformel

Übersicht

Im folgenden Beispiel werden drei Diagrammobjekte mit der Funktion `today()` erstellt. Jedes Diagrammobjekt verwendet eine der Optionen für `timer_mode`, um deren Auswirkung zu demonstrieren.

Für dieses Beispiel gibt es kein Ladeskript.

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:

1. Erstellen Sie ein Textfeld mithilfe des Diagrammobjekts Text und Bild.

2. Fügen Sie die folgende Kennzahl hinzu.

   `=today(0)`

3. 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:

1. Erstellen Sie ein Textfeld mithilfe des Diagrammobjekts Text und Bild.

2. Fügen Sie die folgende Kennzahl hinzu:

   `=today(1)`

3. 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:

1. Erstellen Sie ein Textfeld mithilfe des Diagrammobjekts Text und Bild.

2. Fügen Sie die folgende Kennzahl hinzu:

   `=today(2)`

3. Wählen Sie unter Darstellung die Option Titel anzeigen aus und fügen Sie den Titel „Beginn der Benutzersitzung“ zum Objekt hinzu.

Diagramm mit Objekten, die anhand der Funktion `today()` ohne Ladeskript erstellt wurden

Diagramm mit Objekten, die anhand der Funktion `today()` ohne Ladeskript erstellt wurden

Diagramm mit Objekten, die anhand der Funktion `today()`today() ohne Ladeskript erstellt wurden![Das Diagramm zeigt, wie die einzelnen generierten Textfelder aussehen können, nachdem die Funktion „today()“ nur zum Erstellen von Diagrammobjekten und ohne Laden von Daten in die Anwendung verwendet wurde.](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-today-example-variables-chart.png)

Die obige Abbildung zeigt Beispielwerte für jedes der erstellten Objekte. Die Werte können beispielsweise wie folgt aussehen:

* Neuester Datenladevorgang: 06/23/2022

* Aktuelle Uhrzeit: 06/23/2022

* Beginn der Benutzersitzung: 06/23/2022

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/today.htm)

#### Ladeskript und Diagrammformel

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Ein Datensatz mit einer Reihe von Darlehenssalden wird in eine Tabelle namens `Loans` geladen.

* Tabellendaten mit Feldern für die Darlehens-ID, den Saldo zum Monatsbeginn und den einfachen Zinssatz, der für jedes Darlehen pro Jahr berechnet wird.

Der Endbenutzer möchte ein Diagrammobjekt, das nach Darlehens-ID die aktuellen Zinsen anzeigt, die für jedes Darlehen im Monat bis dato aufgelaufen sind. Die Anwendung wird zwar nur einmal pro Woche geladen, aber der Benutzer möchte, dass die Ergebnisse aktualisiert werden, sooft das Objekt oder die Anwendung aktualisiert werden.

Ladeskript

```
Loans:
Load
*
Inline 
[
loan_id,start_balance,rate
8188,$10000.00,0.024
8189,$15000.00,0.057
8190,$17500.00,0.024
8191,$21000.00,0.034
8192,$90000.00,0.084
];
```

Ergebnisse

Gehen Sie folgendermaßen vor:

1. Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle.

2. Fügen Sie die folgenden Felder als Dimensionen hinzu:

   * `loan_id`

   * `start_balance`

3. Erstellen Sie dann eine Kennzahl, um die kumulierten Zinsen zu berechnen:

   `=start_balance*(rate*(today(1)-monthstart(today(1)))/365)`

4. Legen Sie das Zahlenformat der Kennzahl auf Währung fest.

Ergebnistabelle

| loan\_id | start\_balance | =start\_balance\*(rate\*(today(1)-monthstart(today(1)))/365) |
| --- | --- | --- |
| 8188 | $10000.00 | $16.44 |
| 8189 | $15000.00 | $58.56 |
| 8190 | $17500.00 | $28.77 |
| 8191 | $21000.00 | $48.90 |
| 8192 | $90000.00 | $517.81 |

Die Funktion `monthstart()` verwendet die Funktion `today()`, um das aktuelle Datum als einziges Argument zurückzugeben, und gibt das Startdatum des aktuellen Monats zurück. Die Formel zieht dieses Ergebnis vom aktuellen Datum ab, wobei erneut die Funktion `today()` verwendet wird, und gibt die Anzahl der Tage zurück, die bisher im Monat verstrichen sind.

Dieser Wert wird dann mit dem Zinssatz multipliziert und durch 365 geteilt, um den effektiven Zinssatz für diesen Zeitraum zurückzugeben. Das Ergebnis wird dann mit dem Anfangssaldo des Darlehens multipliziert, was die Zinsen ergibt, die bislang in diesem Monat aufgelaufen sind.

Da der Wert von 1 als Argument `timer_mode` in den Funktionen `today()` innerhalb der Formel verwendet wird, wird bei jeder Aktualisierung des Diagrammobjekts (z. B. durch Öffnen der Anwendung, Aktualisieren der Seite, Wechseln zwischen Arbeitsblättern usw.) das aktuelle Datum zurückgegeben, und die Ergebnisse werden entsprechend aktualisiert.