La fonction inday() utilise l'argument base_timestamp pour identifier le jour de l'horodatage. L'heure de début du jour est, par défaut, minuit ; mais vous pouvez modifier l'heure de début du jour via l'argument day_start de la fonction inday(). Une fois ce jour défini, la fonction renverra des résultats booléens lors de la comparaison des valeurs d'horodatage prescrites au jour en question.
Cas d'utilisation
La fonction inday() renvoie un résultat booléen. Ce type de fonction sera généralement utilisé comme condition dans une expression if expression. Cela renvoie une agrégation ou un calcul, suivant qu'une date évaluée s'est produite ou non au cours du jour de l'horodatage en question.
Par exemple, la fonction inday() peut être utilisée pour identifier l'ensemble des équipements fabriqués un jour donné.
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
Si vous souhaitez utiliser des jours qui ne commencent pas à minuit, indiquez un décalage sous forme de fraction de jour dans l'argument day_start, par exemple 0.125 pour indiquer 3 heures 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.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
date
in_day
Tableau de résultats
date
in_day
01/01/2022 7:34:46 PM
0
01/01/2022 10:10:22 PM
0
01/02/2022 8:35:54 AM
0
01/03/2022 2:21:53 PM
0
01/04/2022 6:49:38 PM
0
01/04/2022 10:58:34 PM
0
01/05/2022 5:40:49 AM
-1
01/05/2022 11:29:38 AM
-1
01/05/2022 7:04:57 PM
-1
01/06/2022 8:49:09 AM
0
Le champ in_day est créé dans l'instruction LOAD précédente via la fonction inday() et en transmettant le champ date, un horodatage codé en dur pour le 5 janvier et une valeur period_no égale à 0 comme arguments de la fonction.
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, la tâche consiste à calculer si la date de transaction a eu lieu deux jours avant le 5 janvier.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
date
in_day
Tableau de résultats
date
in_day
01/01/2022 7:34:46 PM
0
01/01/2022 10:10:22 PM
0
01/02/2022 8:35:54 AM
0
01/03/2022 2:21:53 PM
-1
01/04/2022 6:49:38 PM
0
01/04/2022 10:58:34 PM
0
01/05/2022 5:40:49 AM
0
01/05/2022 11:29:38 AM
0
01/05/2022 7:04:57 PM
0
01/06/2022 8:49:09 AM
0
Dans cet instance, étant donné que la valeur period_no de -2 est utilisée comme argument de décalage dans la fonction inday(), la fonction détermine si chaque date de transaction a eu lieu le 3 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 script de chargement utilise le même ensemble de données et le même scénario que ceux utilisés dans les exemples précédents.
Cependant, dans cet exemple, la politique de l'entreprise détermine que la journée de travail commence et se termine à 7h00 du matin.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
date
in_day
Tableau de résultats
date
in_day
01/01/2022 7:34:46 PM
0
01/01/2022 10:10:22 PM
0
01/02/2022 8:35:54 AM
0
01/03/2022 2:21:53 PM
0
01/04/2022 6:49:38 PM
-1
01/04/2022 10:58:34 PM
-1
01/05/2022 5:40:49 AM
-1
01/05/2022 11:29:38 AM
0
01/05/2022 7:04:57 PM
0
01/06/2022 8:49:09 AM
0
Étant donné que l'argument start_day de 7/24, qui est 7h00 du matin, est utilisé dans la fonction inday(), la fonction détermine si chaque date de transaction a eu lieu le 4 janvier à partir de 7h00 du matin et le 5 janvier avant 7h00 du matin.
Cela peut être vérifié dans le tableau de résultats dans lequel les transactions qui ont lieu après 7h00 du matin le 4 janvier renvoient un résultat booléen égal à TRUE, tandis que les transactions qui ont lieu après 7h00 du matin le 5 janvier renvoient un résultat booléen égal à FALSE.
Exemple 4 – Objet graphique
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 les exemples précédents.
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 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 calculer si une transaction a lieu le 5 janvier, créez la mesure suivante :
=inday(date,'01/05/2022 12:00:00 AM',0)
Tableau de résultats
date
inday(date,'01/05/2022 12:00:00 AM',0)
01/01/2022 7:34:46 PM
0
01/01/2022 10:10:22 PM
0
01/02/2022 8:35:54 AM
0
01/03/2022 2:21:53 PM
0
01/04/2022 6:49:38 PM
0
01/04/2022 10:58:34 PM
0
01/05/2022 5:40:49 AM
-1
01/05/2022 11:29:38 AM
-1
01/05/2022 7:04:57 PM
-1
01/06/2022 8:49:09 AM
0
Exemple 5 – Scénario
Vue d'ensemble
Dans cet exemple, il a été identifié que suite à une erreur d'équipement, des produits fabriqués le 5 janvier étaient défectueux. L'utilisateur final souhaite un objet de graphique qui affiche, par date, l'état des produits fabriqués 'defective' (défectueux) ou 'faultless' (corrects) et le coût des produits fabriqués le 5 janvier.
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 chargé dans une table appelée 'Products' (Produits).
La fonction inday() renvoie une valeur booléenne lors de l'évaluation des dates de fabrication de chacun des produits. Pour tout produit fabriqué le 5 janvier, la fonction inday() renvoie une valeur booléenne égal à TRUE et identifie les produits comme ‘Defective’ (défectueux). Tout produit renvoyant une valeur égale à FALSE, et par conséquent non fabriqué le jour en question, est identifié comme ‘Faultless’ (correct).
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 !