makeweekdate - fonction de script et fonction de graphique
Cette fonction renvoie une date calculée à partir de l'année YYYY, de la semaine WW et du jour de la semaine D.
MakeWeekDate(YYYY [ , WW [ , D ] ])
double
La fonction makeweekdate() est disponible comme fonction de script et de graphique. La fonction calculera la date en fonction des paramètres transmis dans la fonction. Si le paramètre day-of-week (jour de la semaine) est omis, la fonction renverra la date du lundi de cette semaine-là.
La fonction makeweekdate() ne prend pas en compte les variables système BrokenWeek, ReferenceDay ni FirstWeekDay. La semaine 1 commence le premier lundi de janvier. Par exemple, en 2022, la semaine 1 commence le 3 janvier.
Arguments
Argument
Description
YYYY
Année sous forme d'entier.
WW
Semaine sous forme d'entier.
La semaine peut être positive ou négative et supérieure à 52 pour renvoyer des dates de différentes années.
D
Jour de la semaine sous forme d'entier.
Si aucun jour de la semaine n'est spécifié, 0 (lundi) est utilisé. Les jours restants de la semaine sont attribués comme suit : 1 pour mardi, 2 pour mercredi, 3 pour jeudi, 4 pour vendredi, 5 pour samedi et 6 pour dimanche.
Cas d'utilisation
La fonction makeweekdate() est généralement utilisée dans le script pour la génération de données afin de produire une liste de dates, ou pour créer des dates lorsque l'année, la semaine et le jour de la semaine sont fournis dans les données d'entrée.
Exemples de fonction
Exemple
Résultat
makeweekdate(2014,6,6)
renvoie 02/09/2014
makeweekdate(2014,6,1)
renvoie 02/04/2014
makeweekdate(2014,6)
renvoie 02/03/2014 (en supposant l'utilisation du jour de la semaine 0).
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.
Exemple 1 – jour inclus
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 le total des ventes hebdomadaires pour l'année 2022 dans une table appelée Sales.
Dates de transaction fournies sur trois champs : year, week et sales.
Chargement précédent, utilisé pour créer une mesure, end_of_week, via la fonction makeweekdate(), pour renvoyer la date du vendredi de cette semaine-là au format MM/DD/YYYY.
Pour prouver que la date renvoyée est un vendredi, l'expression end_of_week est également imbriquée dans la fonction weekday() pour afficher le jour de la semaine.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
transaction_year
transaction_week
end_of_week
week_day
Tableau de résultats
transaction_year
transaction_week
end_of_week
week_day
2022
01
01/07/2022
Fri
2022
02
01/14/2022
Fri
2022
03
01/21/2022
Fri
2022
04
01/28/2022
Fri
2022
05
02/04/2022
Fri
2022
06
02/11/2022
Fri
2022
07
02/18/2022
Fri
Le champ end_of_week est créé dans l'instruction LOAD précédente à l'aide de la fonction makeweekdate(). Les champs transaction_year et transaction_week sont transmis via la fonction comme arguments year (année) et week (semaine). Une valeur 4 est utilisée pour l'argument day (jour).
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.
La fonction makeweekdate() et ses arguments sont également imbriqués dans une fonction weekday() pour renvoyer le champ week_day ; et, comme indiqué dans le tableau ci-dessus, le champ week_day montre que ces dates ont lieu un vendredi.
Exemple 2 – jour exclu
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 les totaux des ventes hebdomadaires pour l'année 2022 dans une table appelée Sales.
Dates de transaction fournies sur trois champs : year, week et sales.
Chargement précédent utilisé pour créer une mesure, first_day_of_week, via la fonction makeweekdate(). Cela renverra la date du lundi de cette semaine-là au format MM/DD/YYYY.
Pour prouver que la date renvoyée est un lundi, l'expression first_day_of_week est également imbriquée dans la fonction weekday() pour afficher le jour de la semaine.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
transaction_year
transaction_week
first_day_of_week
week_day
Tableau de résultats
transaction_year
transaction_week
first_day_of_week
week_day
2022
01
01/03/2022
Mon
2022
02
01/10/2022
Mon
2022
03
01/17/2022
Mon
2022
04
01/24/2022
Mon
2022
05
01/31/2022
Mon
2022
06
02/07/2022
Mon
2022
07
02/14/2022
Mon
Le champ first_day_of_week est créé dans l'instruction LOAD précédente à l'aide de la fonction makeweekdate(). Les paramètres transaction_year et transaction_week sont transmis comme arguments de la fonction et le paramètre day (jour) est laissé vide.
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.
La fonction makeweekdate() et ses arguments sont également imbriqués dans une fonction weekday() pour renvoyer le champ week_day. Comme indiqué dans le tableau ci-dessus, le champ week_day montre que ces dates se produisent un lundi (même si la variable FirstWeekDay définit le dimanche comme le premier jour de la semaine), car le paramètre day de la fonction makeweekdate() a été laissé vide.
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 les totaux des ventes hebdomadaires pour l'année 2022 dans une table appelée Sales.
Dates de transaction fournies sur trois champs : year, week et sales.
Dans cet exemple, un objet graphique sera utilisé pour créer une mesure équivalente au calcul end_of_week du premier exemple. Cette mesure utilisera la fonction makeweekdate() pour renvoyer la date du vendredi de cette semaine-là au format MM/DD/YYYY.
Pour prouver que la date renvoyée est un vendredi, une deuxième mesure est créée pour renvoyer le jour de la semaine.
Un champ équivalent au champ end_of_week est créé dans l'objet graphique sous forme de mesure à l'aide de la fonction makeweekdate(). Les champs transaction_year et transaction_week sont transmis comme arguments year (année) et week (semaine). Une valeur 4 est utilisée pour l'argument day (jour).
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.
La fonction makeweekdate() et ses arguments sont également imbriqués dans une fonction weekday() pour renvoyer un calcul équivalent à celui du champ week_day du premier exemple. Comme indiqué dans le tableau ci-dessus, la dernière colonne à droite montre que ces dates se produisent un vendredi.
Exemple 4 – scénario
Vue d'ensemble
Dans cet exemple, créez une liste de dates contenant tous les vendredis de l'année 2022.
Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à un nouvel onglet.
Script de chargement
SET DateFormat='MM/DD/YYYY';
Calendar:
load
*,
weekday(date) as weekday
where year(date)=2022;
load
makeweekdate(2022,recno()-2,4) as date
AutoGenerate 60;
Résultats
Tableau de résultats
date
weekday
01/07/2022
Fri
01/14/2022
Fri
01/21/2022
Fri
01/28/2022
Fri
02/04/2022
Fri
02/11/2022
Fri
02/18/2022
Fri
02/25/2022
Fri
03/04/2022
Fri
03/11/2022
Fri
03/18/2022
Fri
03/25/2022
Fri
04/01/2022
Fri
04/08/2022
Fri
04/15/2022
Fri
04/22/2022
Fri
04/29/2022
Fri
05/06/2022
Fri
05/13/2022
Fri
05/20/2022
Fri
05/27/2022
Fri
06/03/2022
Fri
06/10/2022
Fri
06/17/2022
Fri
+ 27 lignes supplémentaires
La fonction makeweekdate() trouve chaque vendredi de l'année 2022. L'utilisation d'un paramètre week égal à -2 garantit qu'il ne manque aucune date. Pour finir, un chargement précédent crée un champ weekday supplémentaire à des fins de clarté, pour indiquer que chaque valeur date est un vendredi.
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 !