makedate - fonction de script et fonction de graphique
Cette fonction renvoie une date calculée à partir de l'année YYYY, du mois MM et du jour DD.
MakeDate(YYYY [ , MM [ , DD ] ])
double
Arguments
Argument
Description
YYYY
Année sous forme d'entier.
MM
Mois sous forme d'entier. Si aucun mois n'est spécifié, 1 (janvier) est utilisé.
DD
Jour sous forme d'entier. Si aucun jour n'est spécifié, la fonction utilise 1 (le premier).
Cas d'utilisation
La fonction makedate() est généralement utilisée dans le script pour la génération de données afin de produire un calendrier. Cela peut également être utilisé lorsque le champ date n'est pas directement disponible sous forme de date, mais qu'il doit subir des transformations pour en extraire les composants year, (année) month (mois) et day (jour).
Ces exemples utilisent le format de date MM/DD/YYYY. Le format de date est indiqué dans l'instruction SET DateFormat située en haut de votre script de chargement de données. Modifiez le format des exemples en fonction de vos besoins.
Exemples de fonction
Exemple
Résultat
makedate(2012)
Renvoie 01/01/2012.
makedate(12)
Renvoie 01/01/2012.
makedate(2012,12)
Renvoie 12/01/2012.
makedate(2012,2,14)
Renvoie 02/14/2012.
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 :
transaction_year
transaction_month
transaction_day
transaction_date
Tableau de résultats
transaction_year
transaction_month
transaction_day
transaction_date
2018
08
30
08/30/2018
2018
09
07
09/07/2018
2018
09
16
09/16/2018
2018
09
22
09/22/2018
2018
09
23
09/23/2018
Le champ transaction_date est créé dans l'instruction preceding load via la fonction makedate() et en transmettant les champs year, month et day comme arguments de la fonction.
La fonction combine ensuite ces valeurs et les convertit en un champ date, renvoyant les résultats au format de la variable système DateFormat.
Exemple 2 – DateFormat modifié
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, transaction_date, au format DD/MM/YYYY, sans modifier la variable système DateFormat.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
transaction_year
transaction_month
transaction_day
transaction_date
Tableau de résultats
transaction_year
transaction_month
transaction_day
transaction_date
2018
08
30
30/08/2018
2018
09
07
07/09/2018
2018
09
16
16/09/2018
2018
09
22
22/09/2018
2018
09
23
23/09/2018
Dans cet exemple, la fonction makedate() est imbriquée dans la fonction date(). Le deuxième argument de la fonction date() définit le format des résultats de la fonction makedate() sur le format DD/MM/YYYY requis.
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 :
Ensemble de données contenant un ensemble de transactions pour 2018, chargé dans une table appelée Transactions.
Dates de transaction fournies sur deux champs : year et month.
Créez une mesure d'objet graphique, transaction_date, qui renvoie une date au format MM/DD/YYYY.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
year
month
Pour déterminer la valeur transaction_date, créez la mesure suivante :
=makedate(transaction_year,transaction_month)
Tableau de résultats
transaction_year
transaction_month
transaction_date
2018
08
08/01/2018
2018
09
09/01/2018
La mesure transaction_date est créée dans l'objet graphique via la fonction makedate() et en transmettant les champs year et month comme arguments de la fonction.
La fonction combine ensuite ces valeurs ainsi que la valeur day supposée égale à 01. Ces valeurs sont ensuite converties en un champ date, renvoyant les résultats au format de la variable système DateFormat.
Exemple 4 – scénario
Vue d'ensemble
Créez un ensemble de données Calendar pour l'année civile 2022.
Script de chargement
SET DateFormat='MM/DD/YYYY';
Calendar:
load
*
where year(date)=2022;
load
date(recno()+makedate(2021,12,31)) as date
AutoGenerate 400;
Résultats
Tableau de résultats
date
01/01/2022
01/02/2022
01/03/2022
01/04/2022
01/05/2022
01/06/2022
01/07/2022
01/08/2022
01/09/2022
01/10/2022
01/11/2022
01/12/2022
01/13/2022
01/14/2022
01/15/2022
01/16/2022
01/17/2022
01/18/2022
01/19/2022
01/20/2022
01/21/2022
01/22/2022
01/23/2022
01/24/2022
01/25/2022
+ 340 lignes supplémentaires
La fonction makedate() crée une valeur date pour le 31 décembre 2021. La fonction recno() fournit le numéro d'enregistrement de l'enregistrement en cours de chargement dans la table, en commençant par 1. Par conséquent, le premier enregistrement porte la date du 1er janvier 2022. Chaque valeur recno() successive incrémentera ensuite cette date de 1. Cette expression est imbriquée dans une fonction date() afin de convertir la valeur en date. La fonction autogenerate répète ce processus 400 fois. Pour finir, via un chargement précédent, il est possible d'utiliser une condition where pour charger uniquement les dates de l'année 2022. Ce script génère un calendrier contenant chaque date en 2022.
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 !