indaytotime - fonction de script et fonction 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.
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.
Cas d'utilisation
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.
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/JJ/AAAA. 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.
Les paramètres régionaux par défaut des applications sont basés sur les paramètres système régionaux de l'ordinateur ou du serveur sur lequel Qlik Sense est installé. Si le serveur Qlik Sense auquel vous accédez est configuré sur la Suède, l'éditeur de chargement de données utilisera les paramètres régionaux suédois pour les dates, l'heure et la devise. Ces paramètres de format régionaux ne sont pas liés à la langue affichée dans l'interface utilisateur Qlik Sense. Qlik Sense sera affiché dans la même langue que celle du navigateur que vous utilisez.
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 ensemble 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).
Un chargement précédent 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.
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
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
Vue d'ensemble
Le script de chargement utilise le même ensemble 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.
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
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
Vue d'ensemble
Le même ensemble 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.
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
É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
Vue d'ensemble
Le même ensemble de données et le même scénario que ceux du premier exemple sont utilisés.
Cependant, dans cet exemple, l'ensemble 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.
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 de 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
Vue d'ensemble
Dans cet exemple, un ensemble 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 de graphique KPI indiquant les revenus obtenus de toutes les séances qui ont eu lieu jusqu'à présent aujourd'hui.
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() :
Créez une étiquette pour l'objet KPI, ‘Current Revenue’.
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.
Cette page vous a-t-elle aidé ?
Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !