lunarweekname - fonction de script et fonction de graphique
Cette fonction renvoie une valeur d'affichage indiquant l'année et le numéro de la semaine lunaire correspondant à un horodatage de la première milliseconde du premier jour de la semaine lunaire contenant l'argument date. Dans Qlik Sense, les semaines lunaires sont définies en comptant le 1er janvier comme le premier jour de la semaine et, à l'exception de la dernière semaine de l'année, elles contiendront exactement sept jours.
La fonction lunarweekname() détermine la semaine lunaire de la date, en commençant le comptage des semaines le 1er janvier. Elle renvoie ensuite une valeur comprenant year/weekcount.
Arguments
Argument
Description
date
Date ou horodatage à évaluer.
period_no
period_no est un entier ou une expression qui aboutit à un entier, où la valeur 0 indique la semaine lunaire contenant l'argument date. Les valeurs négatives spécifiées pour period_no indiquent les semaines lunaires passées tandis que les valeurs positives désignent les semaines lunaires à venir.
first_week_day
Décalage pouvant être supérieur ou inférieur à zéro. Il modifie le début de l'année du nombre de jours et/ou de fractions de jour spécifié.
Cas d'utilisation
La fonction lunarweekname() est utile lorsque vous souhaitez comparer des agrégations par semaines lunaires. Par exemple, la fonction pourrait permettre de déterminer les ventes totales de produits par semaine lunaire. Les semaines lunaires s'avèrent utiles lorsque vous souhaitez vous assurer que toutes les valeurs contenues dans la première semaine de l'année correspondent uniquement à des valeurs à partir du 1er janvier au plus tôt.
Il est possible de créer ces dimensions dans le script de chargement via la fonction permettant de créer un champ dans une table Master Calendar. La fonction peut également être utilisée directement dans un graphique comme dimension calculée.
Exemples de fonction
Exemple
Résultat
lunarweekname('01/12/2013')
Renvoie 2006/02.
lunarweekname('01/12/2013', -1)
Renvoie 2006/01.
lunarweekname('01/12/2013', 0, 1)
Renvoie 2006/02.
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.
Exemple 1 – date sans aucun argument supplémentaire
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 de date fourni dans la variable système DateFormat au format (MM/DD/YYYY).
Création d'un champ, lunar_week_name, qui renvoie l'année et le numéro de semaine de la semaine lunaire au cours de laquelle les transactions ont eu lieu.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
date
lunar_week_name
Tableau de résultats
date
lunar_week_name
1/7/2022
2022/01
1/19/2022
2022/03
2/5/2022
2022/06
2/28/2022
2022/09
3/16/2022
2022/11
4/1/2022
2022/13
5/7/2022
2022/19
5/16/2022
2022/20
6/15/2022
2022/24
6/26/2022
2022/26
7/9/2022
2022/28
7/22/2022
2022/29
7/23/2022
2022/30
7/27/2022
2022/30
8/2/2022
2022/31
8/8/2022
2022/32
8/19/2022
2022/33
9/26/2022
2022/39
10/14/2022
2022/41
10/29/2022
2022/44
Le champ lunar_week_name est créé dans l'instruction preceding load via la fonction lunarweekname() et en transmettant le champ date comme argument de la fonction.
La fonction lunarweekname() identifie la semaine lunaire de la valeur date en renvoyant l'année et le numéro de semaine de cette date.
La transaction 8189 a eu lieu le 19 janvier. La fonction lunarweekname() identifie que cette date tombe pendant la semaine lunaire commençant le 15 janvier ; il s'agit de la troisième semaine lunaire de l'année. Par conséquent, la valeur lunar_week_name renvoyée pour cette transaction est 2022/03.
Exemple 2 – date avec argument 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_lunar_week_name, qui renvoie l'année et le numéro de semaine de la semaine lunaire précédant les transactions.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
date
previous_lunar_week_name
Tableau de résultats
date
previous_lunar_week_name
1/7/2022
2021/52
1/19/2022
2022/02
2/5/2022
2022/05
2/28/2022
2022/08
3/16/2022
2022/10
4/1/2022
2022/12
5/7/2022
2022/18
5/16/2022
2022/19
6/15/2022
2022/23
6/26/2022
2022/25
7/9/2022
2022/27
7/22/2022
2022/28
7/23/2022
2022/29
7/27/2022
2022/29
8/2/2022
2022/30
8/8/2022
2022/31
8/19/2022
2022/32
9/26/2022
2022/38
10/14/2022
2022/40
10/29/2022
2022/43
Dans cet exemple, étant donné qu'un argument period_no égal à -1 a été utilisé comme argument de décalage dans la fonction lunarweekname(), la fonction commence par identifier la semaine lunaire au cours de laquelle les transactions ont eu lieu. Elle renvoie ensuite l'année et le numéro d'une semaine avant.
La transaction 8189 a eu lieu le 19 janvier. La fonction lunarweekname() identifie que cette transaction a eu lieu au cours de la troisième semaine lunaire de l'année ; c'est pourquoi elle renvoie l'année et la valeur d'une semaine auparavant, 2022/02, pour le champ previous_lunar_week_name.
Exemple 3 – date avec argument first_week_day
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. Dans cet exemple, nous définissons les semaines lunaires de sorte qu'elles commencent le 5 janvier.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
date
lunar_week_name
Tableau de résultats
date
lunar_week_name
1/7/2022
2022/01
1/19/2022
2022/03
2/5/2022
2022/05
2/28/2022
2022/08
3/16/2022
2022/11
4/1/2022
2022/13
5/7/2022
2022/18
5/16/2022
2022/19
6/15/2022
2022/24
6/26/2022
2022/25
7/9/2022
2022/27
7/22/2022
2022/29
7/23/2022
2022/29
7/27/2022
2022/30
8/2/2022
2022/30
8/8/2022
2022/31
8/19/2022
2022/33
9/26/2022
2022/38
10/14/2022
2022/41
10/29/2022
2022/43
Dans cet exemple, étant donné que l'argument first_week_date égal à 4 est utilisé dans la fonction lunarweekname(), il reporte le début des semaines lunaires du 1er janvier au 5 janvier.
La transaction 8188 a eu lieu le 7 janvier. Étant donné que les semaines lunaires commencent le 5 janvier, la fonction lunarweekname() identifie que la semaine lunaire contenant le 7 janvier est la première semaine lunaire de l'année. Par conséquent, la valeur lunar_week_name renvoyée pour cette transaction est 2022/01.
Exemple 4 – 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 le numéro de semaine lunaire et l'année des transactions est créé sous forme de mesure dans un objet graphique de l'application.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension : date.
Pour calculer la date de début de la semaine lunaire d'une transaction, créez la mesure suivante :
=lunarweekname(date)
Tableau de résultats
date
=lunarweekname(date)
1/7/2022
2022/01
1/19/2022
2022/03
2/5/2022
2022/06
2/28/2022
2022/09
3/16/2022
2022/11
4/1/2022
2022/13
5/7/2022
2022/19
5/16/2022
2022/20
6/15/2022
2022/24
6/26/2022
2022/26
7/9/2022
2022/28
7/22/2022
2022/29
7/23/2022
2022/30
7/27/2022
2022/30
8/2/2022
2022/31
8/8/2022
2022/32
8/19/2022
2022/33
9/26/2022
2022/39
10/14/2022
2022/41
10/29/2022
2022/44
La mesure lunar_week_name est créée dans l'objet graphique via la fonction lunarweekname() et en transmettant le champ date comme argument de la fonction.
La fonction lunarweekname() identifie la semaine lunaire de la valeur date en renvoyant l'année et le numéro de semaine de cette date.
La transaction 8189 a eu lieu le 19 janvier. La fonction lunarweekname() identifie que cette date tombe pendant la semaine lunaire commençant le 15 janvier ; il s'agit de la troisième semaine lunaire de l'année. Par conséquent, la valeur lunar_week_name de cette transaction est 2022/03.
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 contenant un ensemble de transactions pour 2022, chargé dans une table appelée Transactions.
Champ de date fourni dans la variable système DateFormat au format (MM/DD/YYYY).
L'utilisateur final souhaite un objet graphique présentant les ventes totales par semaine pour l'année en cours. La semaine 1, d'une longueur de sept jours, doit commencer le 1er janvier. Il est possible d'y parvenir, même lorsque cette dimension n'est pas disponible dans le modèle de données, via la fonction lunarweekname() utilisée comme dimension calculée dans le graphique.
Chargez les données et ouvrez une feuille. Créez un tableau.
Créez une dimension calculée à l'aide de l'expression suivante :
=lunarweekname(date)
Pour calculer les ventes totales, utilisez la mesure d'agrégation suivante :
=sum(amount)
Définissez le Formatage des nombres des mesures sur Devise.
Tableau de résultats
=lunarweekname(date)
=sum(amount)
2022/01
$17.17
2022/03
$37.23
2022/06
$57.42
2022/09
$88.27
2022/11
$53.80
2022/13
$82.06
2022/19
$40.39
2022/20
$87.21
2022/24
$95.93
2022/26
$45.89
2022/28
$36.23
2022/29
$25.66
2022/30
$152.75
2022/31
$76.11
2022/32
$25.12
2022/33
$46.23
2022/39
$84.21
2022/41
$96.24
2022/44
$67.67
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 !