addmonths - fonction de script et fonction de graphique
Cette fonction renvoie la date correspondant à n mois après la date startdate ou, si n est une valeur négative, la date correspondant à n mois avant la date startdate.
AddMonths(startdate, n
, [ , mode])
double
La fonction addmonths() ajoute ou soustrait un nombre défini de mois, n, d'une startdate, et renvoie la date obtenue.
L'argument mode aura un impact sur les valeurs startdate le 28 du mois ou après. Si l'argument mode est défini sur 1, la fonction addmonths() renvoie une date égale en distance relative à la fin du mois comme startdate.
Par exemple, le 28 février est le dernier mois du mois. Si la fonction addmonths(), avec un mode égal à 1, est utilisée pour renvoyer la date deux mois plus tard, la fonction renverra la dernière date d'avril, le 30 avril.
Arguments
Argument
Description
startdate
Date de début sous forme d'horodatage, par exemple '2012-10-12'.
n
Nombre de mois sous forme d'entier positif ou négatif.
mode
Indique si le mois est ajouté par rapport au début ou à la fin du mois. Le mode par défaut est 0 pour les ajouts par rapport au début du mois. Définissez le mode sur 1 pour les ajouts par rapport à la fin du mois. Lorsque le mode est défini sur 1 et que la date d'entrée est le 28 ou un jour ultérieur, la fonction vérifie le nombre de jours restants jusqu'à la fin du mois par rapport à la date de début. Le nombre de jours restants jusqu'à la fin du mois est défini dans la date renvoyée.
Cas d'utilisation
La fonction addmonths() sera couramment utilisée dans une expression pour trouver une date tombant un nombre de mois donné avant ou après une période.
Par exemple, la fonction addmonths() peut être utilisée pour identifier la date de fin de contrats de téléphone portable.
Exemples de fonction
Exemple
Résultat
addmonths ('01/29/2003' ,3)
Renvoie '04/29/2003'.
addmonths ('01/29/2003',3,0)
Renvoie '04/29/2003'.
addmonths ('01/29/2003',3,1)
Renvoie '04/28/2003'.
addmonths ('01/29/2003',1,0)
Renvoie '02/28/2003'.
addmonths ('01/29/2003',1,1)
Renvoie '02/26/2003'.
addmonths ('02/28/2003',1,0)
Renvoie '03/28/2003'.
addmonths ('02/28/2003',1,1)
Renvoie '03/31/2003'.
addmonths ('01/29/2003',-3)
Renvoie '10/29/2002'.
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
two_months_later
Tableau de résultats
date
two_months_later
01/10/2020
03/10/2020
02/28/2020
04/28/2020
04/09/2020
06/09/2020
04/16/2020
06/16/2020
05/21/2020
07/21/2020
08/14/2020
10/14/2020
10/07/2020
12/07/2020
12/05/2020
02/05/2021
01/22/2021
03/22/2021
02/03/2021
04/03/2021
03/17/2021
05/17/2021
04/23/2021
06/23/2021
05/04/2021
07/04/2021
06/30/2021
08/30/2021
07/26/2021
09/26/2021
12/27/2021
02/27/2022
02/02/2022
04/02/2022
02/26/2022
04/26/2022
03/07/2022
05/07/2022
03/11/2022
05/11/2022
Le champ two_months_later est créé dans l'instruction preceding load à l'aide de la fonction addmonths(). Le premier argument fourni identifie la date en cours d'évaluation. Le deuxième argument est le nombre de mois à ajouter à ou à soustraire de la startdate. Dans cet exemple, la valeur 2 est fournie.
La transaction 8193 a eu lieu le 14 août. Par conséquent, la fonction addmonths() renvoie le 14 octobre 2020 pour le champ two_months_later.
Exemple 2 – fin de mois relative
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 month-end en 2022, chargé dans une table appelée Transactions.
Champ de date fourni dans la variable système DateFormat au format (MM/DD/YYYY).
Création d'un champ, relative_two_months_prior, qui renvoie la date month-end relative tombant deux mois avant la transaction.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
date
relative_two_months_prior
Tableau de résultats
date
relative_two_months_prior
01/28/2022
11/27/2021
01/31/2022
11/30/2021
02/28/2022
12/31/2021
04/29/2022
02/27/2022
04/30/2022
02/28/2022
05/31/2022
03/31/2022
08/14/2022
06/14/2022
10/07/2022
08/07/2022
Le champ relative_two_months_prior est créé dans l'instruction preceding load à l'aide de la fonction addmonths(). Le premier argument fourni identifie la date en cours d'évaluation. Le deuxième argument est le nombre de mois à ajouter à ou à soustraire de la startdate. Dans cet exemple, la valeur -2 est fournie. L'argument final est le mode, d'une valeur 1, qui force la fonction à calculer la date month-end relative pour toutes les dates ultérieures ou égales au 28.
La transaction 8191 a lieu le 29 avril 2022. Initialement, deux mois avant, cela correspondrait au mois de février. Ensuite, du fait que le troisième argument de la fonction définit le mode sur 1 et que la valeur day est ultérieure au 27, la fonction calcule la valeur month-end relative. La fonction identifie que le 29 est l'avant-dernier jour d'avril et renvoie par conséquent l'avant-dernier jour de février, le 27.
Exemple 3 – exemple 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 renvoie la date tombant deux mois après la transaction est créé comme mesure dans un 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 :
=addmonths(date,2)
Tableau des résultats
date
=addmonths(date,2)
01/10/2020
03/10/2020
02/28/2020
04/28/2020
04/09/2020
06/09/2020
04/16/2020
06/16/2020
05/21/2020
07/21/2020
08/14/2020
10/14/2020
10/07/2020
12/07/2020
12/05/2020
02/05/2021
01/22/2021
03/22/2021
02/03/2021
04/03/2021
03/17/2021
05/17/2021
04/23/2021
06/23/2021
05/04/2021
07/04/2021
06/30/2021
08/30/2021
07/26/2021
09/26/2021
12/27/2021
02/27/2022
02/02/2022
04/02/2022
02/26/2022
04/26/2022
03/07/2022
05/07/2022
03/11/2022
05/11/2022
La mesure two_months_later est créée dans l'objet graphique à l'aide de la fonction addmonths(). Le premier argument fourni identifie la date en cours d'évaluation. Le deuxième argument est le nombre de mois à ajouter à ou à soustraire de la startdate. Dans cet exemple, la valeur 2 est fournie.
La transaction 8193 a eu lieu le 14 août. Par conséquent, la fonction addmonths() renvoie le 14 octobre 2020 pour le champ two_months_later.
Exemple 4 – 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 Mobile_Plans.
Informations avec l'ID de contrat, la date de début, la durée du contrat et les frais mensuels.
L'utilisateur final souhaite un objet graphique qui affiche, par ID de contrat, la date de fin de chaque contrat téléphonique.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
contract_id
start_date
contract_length
Pour calculer la date de fin de chaque contrat, créez la mesure suivante :
=addmonths(start_date,contract_length, 0)
Tableau de résultats
contract_id
start_date
contract_length
=addmonths(start_date,contract_length,0)
8188
01/13/2020
18
07/13/2021
8189
02/26/2020
24
02/26/2022
8190
03/27/2020
36
03/27/2023
8191
04/16/2020
24
04/16/2022
8192
05/21/2020
24
05/21/2022
8193
08/14/2020
12
08/14/2021
8194
10/07/2020
18
04/07/2022
8195
12/05/2020
12
12/05/2021
8196
01/22/2021
12
01/22/2022
8197
02/03/2021
18
08/03/2022
8198
03/17/2021
24
03/17/2023
8199
04/23/2021
24
04/23/2023
8200
05/04/2021
12
05/04/2022
8201
06/30/2021
12
06/30/2022
8202
07/26/2021
12
07/26/2022
8203
12/27/2021
36
12/27/2024
8204
06/06/2022
24
06/06/2024
8205
07/18/2022
12
07/18/2023
8206
11/14/2022
12
11/14/2023
8207
12/12/2022
18
06/12/2024
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 !