monthend - fonction de script et fonction de graphique
Cette fonction renvoie une valeur correspondant à un horodatage de la dernière milliseconde du dernier jour du mois contenant l'argument date. Le format de sortie par défaut correspond à l'argument DateFormat défini dans le script.
MonthEnd(date[, period_no])
En d'autres termes, la fonction monthend() détermine le mois au cours duquel tombe la date. Elle renvoie ensuite un horodatage, au format date, pour la dernière milliseconde de ce mois-là.
Cas d'utilisation
La fonction monthend() est utilisée dans le cadre d'une expression lorsque vous souhaitez que le calcul utilise la fraction du mois qui n'a pas encore eu lieu. Par exemple, si vous souhaitez calculer le total des intérêts non encore encourus au cours du mois.
double
Arguments
Argument
Description
date
Date ou horodatage à évaluer.
period_no
period_no est un entier qui, s'il est égal à 0 ou s'il est omis, indique le mois contenant la date. Les valeurs négatives spécifiées pour period_no indiquent les mois passés tandis que les valeurs positives désignent les mois à venir.
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.
Exemples de fonction
Exemple
Résultat
monthend('02/19/2012')
Renvoie 02/29/2012 23:59:59.
monthend('02/19/2001', -1)
Renvoie 01/31/2001 23:59:59.
Exemple 1 – exemple de base
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 contenant un ensemble de transactions pour 2022, chargé dans une table appelée ‘Transactions’.
Champ date dans la variable système DateFormat au format (MM/DD/YYYY).
Instruction preceding load contenant les éléments suivants :
La fonction monthend() définie comme le champ ‘end_of_month’.
La fonction timestamp définie comme le champ ‘end_of_month_timestamp’.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
id
date
end_of_month
end_of_month_timestamp
Tableau de résultats
id
date
end_of_month
end_of_month_timestamp
8188
1/7/2022
01/31/2022
1/31/2022 11:59:59 PM
8189
1/19/2022
01/31/2022
1/31/2022 11:59:59 PM
8190
2/5/2022
02/28/2022
2/28/2022 11:59:59 PM
8191
2/28/2022
02/28/2022
2/28/2022 11:59:59 PM
8192
3/16/2022
03/31/2022
3/31/2022 11:59:59 PM
8193
4/1/2022
04/30/2022
4/30/2022 11:59:59 PM
8194
5/7/2022
05/31/2022
5/31/2022 11:59:59 PM
8195
5/16/2022
05/31/2022
5/31/2022 11:59:59 PM
8196
6/15/2022
06/30/2022
6/30/2022 11:59:59 PM
8197
6/26/2022
06/30/2022
6/30/2022 11:59:59 PM
8198
7/9/2022
07/31/2022
7/31/2022 11:59:59 PM
8199
7/22/2022
07/31/2022
7/31/2022 11:59:59 PM
8200
7/23/2022
07/31/2022
7/31/2022 11:59:59 PM
8201
7/27/2022
07/31/2022
7/31/2022 11:59:59 PM
8202
8/2/2022
08/31/2022
8/31/2022 11:59:59 PM
8203
8/8/2022
08/31/2022
8/31/2022 11:59:59 PM
8204
8/19/2022
08/31/2022
8/31/2022 11:59:59 PM
8205
9/26/2022
09/30/2022
9/30/2022 11:59:59 PM
8206
10/14/2022
10/31/2022
10/31/2022 11:59:59 PM
8207
10/29/2022
10/31/2022
10/31/2022 11:59:59 PM
Le champ 'end_of_month' est créé dans l'instruction preceding load via la fonction monthend() et en transmettant le champ date comme argument de la fonction.
La fonction monthend() identifie le mois dans lequel tombe la valeur date en renvoyant un horodatage pour la dernière milliseconde de ce mois.
La transaction 8192 a eu lieu le 16 mars. La fonction monthend() renvoie la dernière milliseconde de ce mois, soit le 31 mars à 11:59:59 PM.
Exemple 2 – period_no
Vue d'ensemble
Le même ensemble de données et le même scénario que ceux du premier exemple sont utilisés.
Dans cet exemple, la tâche consiste à créer un champ, ‘previous_month_end’, qui renvoie l'horodatage de la fin du mois avant la réalisation de la transaction.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
id
date
previous_month_end
previous_month_end_timestamp
Tableau de résultats
id
date
previous_month_end
previous_month_end_timestamp
8188
1/7/2022
12/31/2021
12/31/2021 11:59:59 PM
8189
1/19/2022
12/31/2021
12/31/2021 11:59:59 PM
8190
2/5/2022
01/31/2022
1/31/2022 11:59:59 PM
8191
2/28/2022
01/31/2022
1/31/2022 11:59:59 PM
8192
3/16/2022
02/28/2022
2/28/2022 11:59:59 PM
8193
4/1/2022
03/31/2022
3/31/2022 11:59:59 PM
8194
5/7/2022
04/30/2022
4/30/2022 11:59:59 PM
8195
5/16/2022
04/30/2022
4/30/2022 11:59:59 PM
8196
6/15/2022
05/31/2022
5/31/2022 11:59:59 PM
8197
6/26/2022
05/31/2022
5/31/2022 11:59:59 PM
8198
7/9/2022
06/30/2022
6/30/2022 11:59:59 PM
8199
7/22/2022
06/30/2022
6/30/2022 11:59:59 PM
8200
7/23/2022
06/30/2022
6/30/2022 11:59:59 PM
8201
7/27/2022
06/30/2022
6/30/2022 11:59:59 PM
8202
8/2/2022
07/31/2022
7/31/2022 11:59:59 PM
8203
8/8/2022
07/31/2022
7/31/2022 11:59:59 PM
8204
8/19/2022
07/31/2022
7/31/2022 11:59:59 PM
8205
9/26/2022
08/31/2022
8/31/2022 11:59:59 PM
8206
10/14/2022
09/30/2022
9/30/2022 11:59:59 PM
8207
10/29/2022
09/30/2022
9/30/2022 11:59:59 PM
La fonction monthend() commence par identifier le mois au cours duquel les transactions ont lieu, avec un argument period_no défini sur -1 utilisé comme argument de décalage. Elle décale ensuite d'un mois en arrière et identifie la dernière milliseconde de ce mois-là.
La transaction 8192 a eu lieu le 16 mars. La fonction monthend() identifie que le mois avant la transaction était le mois de février. Elle renvoie alors la dernière milliseconde de ce mois, le 28 février à 11:59:59 PM.
Exemple 3 - exemple 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.
Dans cet exemple, l'ensemble de données est inchangé et chargé dans l'application. La tâche consiste à créer un calcul qui renvoie un horodatage correspondant à la fin du mois de réalisation des transactions sous forme de mesure dans un graphique de l'application.
La fonction monthend() renvoie la date de fin du mois en cours en utilisant la date d'aujourd'hui comme seul argument. L'expression renvoie le nombre de jours restants pour ce mois en soustrayant la date d'aujourd'hui de la date de fin du mois.
Cette valeur est ensuite multipliée par les notes de frais quotidiennes moyennes par employé pour calculer la valeur estimée des notes de frais que chaque employé est censé faire au cours du mois restant.
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 !