inquartertodate - fonction de script et fonction de graphique
Cette fonction renvoie la valeur True si l'argument timestamp se trouve dans la partie du trimestre comprenant l'argument base_date jusqu'à la dernière milliseconde spécifiée dans base_date.
Dans Qlik Sense, la valeur booléenne true est représentée par -1 et la valeur false par 0.
La fonction inquartertodate() divise l'année en quatre trimestres égaux entre le 1er janvier et le 31 décembre (ou le début de l'année défini par l'utilisateur et sa date de fin correspondante). Avec base_date, la fonction segmentera ensuite un trimestre donné, la valeur base_date identifiant à la fois le trimestre et la date maximale autorisée pour ce segment de trimestre. Pour finir, la fonction renvoie un résultat booléen lors de la comparaison des valeurs de date prescrites à ce segment.
Arguments
Argument
Description
timestamp
Date à comparer à base_date.
base_date
Date utilisée pour évaluer le trimestre.
period_no
Il est possible de décaler le trimestre à l'aide de l'argument period_no. period_no est un entier, où la valeur 0 indique le trimestre comprenant l'argument base_date. Les valeurs négatives de l'argument period_no indiquent les trimestres passés tandis que les valeurs positives désignent les trimestres à venir.
first_month_of_year
Si vous voulez utiliser des exercices (financiers) qui ne commencent pas en janvier, indiquez une valeur comprise entre 2 et 12 dans l'argument first_month_of_year.
Cas d'utilisation
La fonction inquartertodate() renvoie un résultat booléen. Ce type de fonction sera généralement utilisé comme condition dans une expression if. La fonction inquartertodate() serait utilisée pour renvoyer une agrégation ou un calcul suivant qu'une date évaluée s'est produite ou non au cours du trimestre jusqu'à la date en question incluse.
Par exemple, la fonction inquartertodate() peut être utilisée pour identifier l'ensemble des équipements fabriqués au cours d'un trimestre jusqu'à une date spécifique.
Exemples de fonction
Exemple
Résultat
inquartertodate('01/25/2013', '03/25/2013', 0)
RenvoieTRUE, car la valeur de timestamp, 01/25/2013, se situe dans la période de trois mois de 01/01/2013 à 03/25/2013 dans laquelle figure la valeur de base_date, 03/25/2013.
inquartertodate('04/26/2013', '03/25/2013', 0)
Renvoie FALSE, car 04/26/2013 se trouve hors de la même période que celle indiquée dans l'exemple précédent.
inquartertodate('02/25/2013', '06/09/2013', -1)
Renvoie TRUE, car la valeur de period_no, -1, décale la période de recherche d'une période de trois mois (d'un trimestre de l'année) en arrière. La période de recherche devient ainsi du 01/01/2013 au 03/09/2013.
inquartertodate('03/25/2006', '04/15/2006', 0, 2)
Renvoie TRUE, car la valeur de first_month_of_yearest définie sur 2, ce qui fait que la période de recherche devient du 02/01/2006 au 04/15/2006 au lieu du 04/01/2006 au 04/15/2006.
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. Pour plus d'informations, voir Modification des paramètres régionaux des applications et des scripts.
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.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
date
in_quarter_to_date
Tableau de résultats
date
in_quarter_to_date
1/7/2022
0
1/19/2022
0
2/5/2022
0
2/28/2022
0
3/16/2022
0
4/1/2022
-1
5/7/2022
-1
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
Le champ in_quarter_to_date est créé dans l'instruction preceding load à l'aide de la fonction inquartertodate(). Le premier argument fourni identifie le champ en cours d'évaluation. Le deuxième argument est une date codée en dur du 15 mai, qui est la valeur base_date qui identifie le trimestre à segmenter et définit la limite de fin de ce segment. Une valeur period_no de 0 constitue l'argument final, ce qui signifie que la fonction ne compare pas les trimestres précédant ou suivant le trimestre segmenté.
Toute transaction qui se produit entre le 1er avril et le 15 mai renvoie un résultat booléen TRUE. Les dates de transaction du 16 mai et ultérieures renverront FALSE, comme toutes les transactions avant le 1er avril.
Exemple 2 – period_no
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 :
Même ensemble de données et même scénario que ceux du premier exemple.
Création d'un champ, previous_qtr_to_date, qui détermine les transactions qui ont eu lieu un trimestre complet avant la fin du segment de trimestre le 15 mai 2022.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
date
previous_qtr_to_date
Tableau de résultats
date
previous_qtr_to_date
1/7/2022
-1
1/19/2022
-1
2/5/2022
-1
2/28/2022
0
3/16/2022
0
4/1/2022
0
5/7/2022
0
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
Une valeur period_no égale à -1 indique que la fonction inquartertodate () compare le segment de trimestre d'entrée au trimestre précédent. Le 15 mai tombe dans le deuxième trimestre de l'année, si bien que le segment correspond initialement à la période entre le 1er avril et le 15 mai. La valeur period_no décale ensuite ce segment de trois mois plus tôt, faisant passer les limites de date à la période du 1er janvier au 15 février.
Par conséquent, toute transaction effectuée entre le 1er janvier et le 15 février renverra un résultat booléen TRUE.
Exemple 3 – first_month_of_year
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 :
Même ensemble de données et même scénario que ceux du premier exemple.
Création d'un champ, in_quarter_to_date, qui détermine les transactions qui ont eu lieu au cours du même trimestre jusqu'au 15 mai 2022.
Dans cet exemple, nous définissons mars comme le premier mois de l'exercice financier.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
date
in_quarter_to_date
Tableau de résultats
date
in_quarter_to_date
1/7/2022
0
1/19/2022
0
2/5/2022
0
2/28/2022
0
3/16/2022
-1
4/1/2022
-1
5/7/2022
-1
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
Si on utilise 3 comme argument first_month_of_year dans la fonction inquartertodate(), la fonction commence l'année le 1er mars, puis divise l'année en trimestres. Par conséquent, les segments de trimestre sont les suivants :
mars à mai
juin à août
septembre à novembre
décembre à février
La valeur base_date du 15 mai segmente ensuite le trimestre de mars à mai en fixant sa limite de fin au 15 mai.
Par conséquent, toute transaction qui se produit entre le 1er mars et le 15 mai renverra un résultat booléen TRUE, tandis que les transactions avec des dates en dehors de ces limites renverront une valeur FALSE.
Exemple 4 – Exemple d'objet graphique
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 le même ensemble de données et le même scénario que ceux du premier exemple. Cependant, dans cet exemple, le même ensemble de données est chargé dans l'application. Le calcul qui détermine les transactions qui ont eu lieu le même trimestre que celui du 15 mai est créé sous forme de mesure dans l'objet graphique.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :date.
Créez la mesure suivante :
=inquartertodate(date,'05/15/2022', 0)
Tableau des résultats
date
=inquartertodate(date,'05/15/2022', 0)
1/7/2022
0
1/19/2022
0
2/5/2022
0
2/28/2022
0
3/16/2022
0
4/1/2022
-1
5/7/2022
-1
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
La mesure in_quarter_to_date est créée dans un objet graphique à l'aide de la fonction inquartertodate(). Le premier argument est le champ de date en cours d'évaluation. Le deuxième argument est une date codée en dur du 15 mai, qui est la valeur base_date qui identifie le trimestre à segmenter et définit la limite de fin de ce segment. Une valeur period_no de 0 constitue l'argument final, ce qui signifie que la fonction ne compare pas les trimestres précédant ou suivant le trimestre segmenté.
Toute transaction qui se produit entre le 1er avril et le 15 mai renvoie un résultat booléen TRUE. Les transactions du 16 mai et ultérieures renverront FALSE, comme toutes les transactions avant le 1er avril.
Exemple 5 – scénario
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 :
Ensemble de données chargé dans une table appelée Products.
Informations concernant l'ID du produit, la date de fabrication et le prix de revient.
Le 15 mai 2022, une erreur d'équipement a été identifiée dans le processus de fabrication et résolue. Les produits fabriqués au cours du trimestre en question jusqu'à cette date seront défectueux. L'utilisateur final souhaite un objet graphique qui affiche, par nom de trimestre, l'état du produit ('defective' (défectueux) ou 'faultless' (correct)) et le coût des produits fabriqués au cours du trimestre en question jusqu'à aujourd'hui.
La fonction inquartertodate() renvoie une valeur booléenne lors de l'évaluation des dates de fabrication de chacun des produits. Les produits qui renvoient une valeur booléenne TRUE sont identifiés comme ‘Defective’. Tout produit renvoyant une valeur FALSE et par conséquent non fabriqué au cours du trimestre jusqu'au 15 mai inclus est identifié comme ‘Faultless’.
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 !