# indaytotime Fonction de script et de graphique

Cette fonction renvoie la valeur True si l'argument timestamp se trouve dans la partie du jour comprenant l'argument base\_timestamp jusqu'à la milliseconde exacte spécifiée dans base\_timestamp.

Syntaxe :

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

La fonction `indaytotime()` renvoie un résultat booléen suivant le moment auquel la valeur d'horodatage se produit au cours du segment du jour. La limite de début de ce segment est le début de la journée, qui est défini par défaut sur minuit ; il est possible de modifier le début de la journée via l'argument `day_start` de la fonction `indaytotime()`. La limite de fin du segment de la journée est déterminée par un argument `base_timestamp` de la fonction.

Diagramme de la fonction `indaytotime`.

Diagramme de la fonction `indaytotime`.

Diagramme de la fonction `indaytotime`indaytotime. ![Diagramme illustrant les relations entre les variables de la fonction indaytotime.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-diagram-overview.png)

Cas d'utilisation de indaytotime

La fonction `indaytotime()` renvoie un résultat booléen. Ce type de fonction sera généralement utilisé comme condition dans une expression `if expression`. La fonction `indaytotime()` renvoie une agrégation ou un calcul suivant qu'un horodatage s'est produit au cours du segment de la journée jusqu'à l'heure, comprise, de l'horodatage de base.

Par exemple, la fonction `indaytotime()` peut-être utilisée pour indiquer la somme des ventes de billets de séances de cinéma qui ont eu lieu jusqu'à présent à la date d'aujourd'hui.

Type de données renvoyé : Booléen

Dans Qlik Sense, la valeur booléenne true est représentée par -1 et la valeur false par 0.

Arguments

| Argument | Description |
| --- | --- |
| ` timestamp  ` | Date et heure à comparer à `base_timestamp`. |
| ` base_timestamp  ` | Date et heure utilisées pour évaluer l'horodatage. |
| ` period_no  ` | Il est possible de décaler le jour à l'aide de l'argument `period_no`. `period_no` est un entier, où la valeur 0 indique le jour comprenant l'argument `base_timestamp`. Les valeurs négatives de l'argument `period_no` indiquent les jours passés, tandis que les valeurs positives désignent les jours à venir. |
| ` day_start  ` | (facultatif) Si vous souhaitez utiliser des jours qui ne commencent pas à minuit, indiquez un décalage sous forme de fraction d'un jour dans `day_start`. Par exemple, utilisez 0.125 pour indiquer 3 h du matin. |

## Paramètres régionaux

Sauf indication contraire, les exemples de cette rubrique utilisent le format de date suivant : MM/DD/YYYY. Le format de date est indiqué dans l'instruction `SET DateFormat` de votre script de chargement de données. Le format de date par défaut peut être différent dans votre système en raison de vos paramètres régionaux et d'autres facteurs. Vous pouvez modifier les formats utilisés dans les exemples ci-dessous en fonction de vos besoins. Ou vous pouvez modifier les formats utilisés dans votre script de chargement pour qu'ils correspondent à ceux de ces exemples. Pour plus d'informations, consultez [Modification des paramètres régionaux des applications et des scripts](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Les paramètres régionaux par défaut des applications sont basés sur le profil utilisateur. Ces paramètres de format régionaux ne sont pas liés à la langue affichée dans l'interface utilisateur Qlik Cloud. Qlik Cloud sera affiché dans la même langue que celle du navigateur que vous utilisez.

Si vous êtes un créateur d'applications, vous pouvez définir la région par défaut des applications que vous créez. Pour plus d'informations, consultez [Sélection des paramètres régionaux de votre choix pour la création d'applications et de scripts dans Qlik Cloud Analytics](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

Exemples de fonction

| Exemple | Résultat |
| --- | --- |
| `indaytotime` ('01/12/2006 12:23:00 PM', '01/12/2006 11:59:00 PM', 0) | Renvoie True |
| `indaytotime` ('01/12/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', 0) | Renvoie False |
| `indaytotime` '01/11/2006 12:23:00 PM', '01/12/2006 11:59:00 PM', -1) | Renvoie True |

## Exemple 1 – aucun argument supplémentaire

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

#### Script de chargement et résultats

Vue d'ensemble

Ouvrez l'Éditeur de chargement de données et ajoutez le script de chargement ci-dessous à un nouvel onglet.

Le script de chargement contient :

* Un jeu de données contenant un ensemble de transactions pour la période comprise entre le 4 et le 5 janvier est chargé dans une table appelée 'Transactions'.

* Un champ date fourni dans la variable système `TimeStamp` au format `(M/D/YYYY h:mm:ss[.fff] TT)`.

* Une instruction preceding load contenant la fonction `indaytotime()` définie comme `'in_day_to_time'`, champ qui détermine si chacune des transactions a lieu avant 9h du matin.

Script de chargement

```
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
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

* `date`

* `in_day_to_time`

Tableau de résultats

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

Exemple 1 - Diagramme de la fonction `indaytotime` avec une limite de 9h00 du matin

Exemple 1 - Diagramme de la fonction `indaytotime` avec une limite de 9h00 du matin

Exemple 1 - Diagramme de la fonction `indaytotime`indaytotime avec une limite de 9h00 du matin ![Diagramme illustrant la fonction indaytotime() avec une limite de 9h00 du matin.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example1-diagram.png)

Le champ `in_day_to_time field` est créé dans l'instruction LOAD précédente via la fonction `indaytotime()` et en transmettant le champ date, un horodatage codé en dur pour le 5 janvier à 9h00 et un décalage égal à 0 comme arguments de la fonction. Toute transaction ayant lieu entre minuit et 9h00 du matin le 5 janvier renvoie la valeur TRUE.

## Exemple 2 – period\_no

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

#### Script de chargement et résultats

Vue d'ensemble

Le script de chargement utilise le même jeu de données et le même scénario que ceux utilisés dans le premier exemple.

Cependant, dans cet exemple, vous allez calculer si la date de la transaction a eu lieu un jour avant 9h00 le 5 janvier.

Script de chargement

```
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
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

* `date`

* `in_day_to_time`

Tableau de résultats

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

Exemple 2 - Diagramme de la fonction `indaytotime` avec des transactions à partir du 4 janvier.

Exemple 2 - Diagramme de la fonction `indaytotime` avec des transactions à partir du 4 janvier.

Exemple 2 - Diagramme de la fonction `indaytotime`indaytotime avec des transactions à partir du 4 janvier. ![Diagramme illustrant la fonction indaytotime () qui utilise une valeur period_no égale à -1 pour renvoyer les transactions à partir du 4 janvier.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example2-diagram.png)

Dans cet exemple, étant donné qu'un décalage de -1 a été utilisé comme argument de décalage dans la fonction `indaytotime()`, la fonction détermine si chaque date de transaction a eu lieu avant 9h00 le 4 janvier. Cela peut être vérifié dans le tableau de résultats, dans lequel une transaction renvoie un résultat booléen égal à TRUE.

## Exemple 3 – day\_start

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

#### Script de chargement et résultats

Vue d'ensemble

Le même jeu de données et le même scénario que ceux du premier exemple sont utilisés.

Cependant, dans cet exemple, la politique de l'entreprise détermine que la journée de travail commence et se termine à 8h00 du matin.

Script de chargement

```
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
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

* `date`

* `in_day_to_time`

Tableau de résultats

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

Exemple 3 - Diagramme de la fonction `indaytotime` avec des transactions de 8h00 à 9h00 du matin.

Exemple 3 - Diagramme de la fonction `indaytotime` avec des transactions de 8h00 à 9h00 du matin.

Exemple 3 - Diagramme de la fonction `indaytotime`indaytotime avec des transactions de 8h00 à 9h00 du matin. ![Diagramme illustrant la fonction indaytotime () qui indique les transactions de 8h00 à 9h00 du matin.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example3-diagram.png)

Étant donné que l'argument `start_day` de 8/24, qui équivaut à 8h du matin, est utilisé dans la fonction `indaytotime()`, chaque journée commence et se termine à 8h du matin. Par conséquent, la fonction `indaytotime()` renverra un résultat booléen égal à TRUE pour tout transaction ayant eu lieu entre 8h du matin et 9h du matin le 5 janvier.

## Exemple 4 – Objet graphique

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

#### Script de chargement et expression de

Vue d'ensemble

Le même jeu de données et le même scénario que ceux du premier exemple sont utilisés.

Cependant, dans cet exemple, le jeu de données est le même et chargé dans l'application. Vous allez effectuer un calcul pour déterminer si une transaction a lieu le 5 janvier avant 9h00 du matin en créant une mesure dans un objet graphique.

Script de chargement

```

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
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :

`date`.

Pour déterminer si une transaction a lieu le 5 janvier avant 9h00 du matin, créez la mesure suivante :

`=indaytotime(date,'01/05/2022 9:00:00 AM',0)`

Tableau de résultats

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

La mesure `in_day_to_time` est créée dans l'objet graphique via la fonction `indaytotime()` et en transmettant le champ date, un horodatage codé en dur pour le 5 janvier à 9h00 et un décalage égal à `0` comme arguments de la fonction. Toute transaction ayant lieu entre minuit et 9h00 du matin le 5 janvier renvoie la valeur TRUE. Cela est validé dans le tableau de résultats.

## Exemple 5 – Scénario

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

#### Script de chargement et résultats

Vue d'ensemble

Dans cet exemple, un jeu de données contenant les ventes de billets d'un cinéma local est chargé dans une table appelée Ticket\_Sales. Aujourd'hui, nous sommes le 3 mai 2022 et il est 11h du matin.

L'utilisateur souhaite un objet graphique ICP indiquant les revenus obtenus de toutes les séances qui ont eu lieu jusqu'à présent aujourd'hui.

Script de chargement

```
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
];
```

Résultats

Procédez comme suit :

1. Créez un objet ICP.

2. Créez une mesure qui indiquera la somme de toutes les ventes de billets des séances qui ont eu lieu aujourd'hui jusqu'à présent via la fonction indaytotime() :

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

1. Créez une étiquette pour l'objet ICP, ‘Current Revenue’.

2. Définissez le Formatage des nombres des mesures sur Money (Devise).

La somme totale des ventes de billets jusqu'à 11h du matin le 3 mai 2022 est égale à 52,50 $.

La fonction indaytotime () renvoie une valeur booléenne lors de la comparaison des heures des séances de chaque vente de billet à l'heure actuelle ('05/03/2022 11:00:00 AM’). Pour toute séance ayant eu lieu le 3 mai avant 11h du matin, la fonction indaytotime () renvoie une valeur booléenne égale à TRUE et le prix de son billet sera inclus dans la somme totale.