# indaytotime Skript- und Diagrammfunktion

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.

Syntax:

InDayToTime (timestamp, base\_timestamp, period\_no[, day\_start])

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.

Diagramm der Funktion `indaytotime`.

Diagramm der Funktion `indaytotime`.

Diagramm der Funktion `indaytotime`indaytotime. ![Diagramm, das die Beziehungen zwischen den Variablen der Funktion indaytotime zeigt.](https://help.qlik.com/de-DE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-diagram-overview.png)

Verwendung von indaytotime

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 Anwendungen und Skripte](https://help.qlik.com/de-DE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Regionale Standardeinstellungen in Anwendungen 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.

Wenn Sie Anwendungsersteller sind, können Sie die Standardregion für die von Ihnen erstellten Anwendungen festlegen. Weitere Informationen finden Sie unter [Festlegen der bevorzugten regionalen Einstellungen für die App-und Skripterstellung in Qlik Cloud Analytics](https://help.qlik.com/de-DE/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

Funktionsbeispiele

| Beispiel | Ergebnis |
| --- | --- |
| `indaytotime` ('01/12/2006 12:23:00 PM', '01/12/2006 11:59:00 PM', 0) | Gibt „wahr“ zurück |
| `indaytotime` ('01/12/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', 0) | Gibt „falsch“ zurück |
| `indaytotime` '01/11/2006 12:23:00 PM', '01/12/2006 11:59:00 PM', -1) | Gibt „wahr“ zurück |

## Beispiel 1 – keine zusätzlichen Argumente

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

#### Ladeskript und Ergebnisse

Übersicht

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

Ladeskript

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM',0) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Ergebnisse

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 |

Beispiel 1: Diagramm der Funktion `indaytotime` mit 9:00-Uhr-Limit.

Beispiel 1: Diagramm der Funktion `indaytotime` mit 9:00-Uhr-Limit.

Beispiel 1: Diagramm der Funktion `indaytotime`indaytotime mit 9:00-Uhr-Limit. ![Diagramm, das die Funktion indaytotime() mit einem 9:00-Uhr-Limit zeigt.](https://help.qlik.com/de-DE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example1-diagram.png)

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

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

#### Ladeskript und Ergebnisse

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

Ladeskript

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM', -1) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Ergebnisse

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 |

Beispiel 2: Diagramm der Funktion `indaytotime` mit Transaktionen ab dem 4. Januar

Beispiel 2: Diagramm der Funktion `indaytotime` mit Transaktionen ab dem 4. Januar

Beispiel 2: Diagramm der Funktion `indaytotime`indaytotime mit Transaktionen ab dem 4. Januar ![Diagramm mit der Funktion indaytotime (), die eine period_no von -1 verwendet, um Transaktionen ab dem 4. Januar zurückzugeben.](https://help.qlik.com/de-DE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example2-diagram.png)

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

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

#### Ladeskript und Ergebnisse

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

Ladeskript

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM', 0,8/24) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Ergebnisse

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 |

Beispiel 3: Diagramm der Funktion `indaytotime` mit Transaktionen von 8:00 bis 9:00 Uhr.

Beispiel 3: Diagramm der Funktion `indaytotime` mit Transaktionen von 8:00 bis 9:00 Uhr.

Beispiel 3: Diagramm der Funktion `indaytotime`indaytotime mit Transaktionen von 8:00 bis 9:00 Uhr. ![Diagramm mit der Funktion indaytotime(), das Transaktionen von 8:00 bis 9:00 zeigt.](https://help.qlik.com/de-DE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example3-diagram.png)

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

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

#### formel

Übersicht

Es werden derselbe Datenatz 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.

Ladeskript

```

Transactions:
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Ergebnisse

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

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

#### Ladeskript und Ergebnisse

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

Ladeskript

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

Ticket_Sales:
Load
*
Inline 
[
sale ID, show time, ticket price
1,05/01/2022 09:30:00 AM,10.50
2,05/03/2022 05:30:00 PM,21.00
3,05/03/2022 09:30:00 AM,10.50
4,05/03/2022 09:30:00 AM,31.50
5,05/03/2022 09:30:00 AM,10.50
6,05/03/2022 12:00:00 PM,42.00
7,05/03/2022 12:00:00 PM,10.50
8,05/03/2022 05:30:00 PM,42.00
9,05/03/2022 08:00:00 PM,31.50
10,05/04/2022 10:30:00 AM,31.50
11,05/04/2022 12:00:00 PM,10.50
12,05/04/2022 05:30:00 PM,10.50
13,05/05/2022 05:30:00 PM,21.00
14,05/06/2022 12:00:00 PM,21.00
15,05/07/2022 09:30:00 AM,42.00
16,05/07/2022 10:30:00 AM,42.00
17,05/07/2022 10:30:00 AM,10.50
18,05/07/2022 05:30:00 PM,10.50
19,05/08/2022 05:30:00 PM,21.00
20,05/11/2022 09:30:00 AM,10.50
];
```

Ergebnisse

Gehen Sie folgendermaßen vor:

1. Erstellen Sie ein KPI-Objekt.

2. 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():

=sum(if(indaytotime([show time],'05/03/2022 11:00:00 AM',0),[ticket price],0))

1. Erstellen Sie eine Beschriftung für das KPI-Objekt, „Current Revenue“.

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