Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Novice avec QLIK, j'ai un petit soucis
j'ai besoin d'afficher dans un KPI la valeur de la dernière semaine d'un indicateur sachant que chaque semaine il y a de nouvelles données qui se rajoutent dans la base de données. Mais si je filtre par exemple sur le mois de Mai j'ai besoin que ça soit la valeur de la dernière semaine de Mai qui s'affiche (Semaine 21). Plus précisément que ça soit un tag dynamique.
Ci-dessous la formule de l'indicateur qui est très simple ainsi qu'un exemple de jeux de données
sum(Numerateur)/sum(denominateur)
Id SEMAINE MOIS numérateur Dénominateur
XX1 21 MAI 1 1
XX2 21 MAI 0 1
XX3 21 MAI 1 1
YY7 21 MAI 0 1
YY8 21 MAI 1 1
WW1 22 JUIN 0 1
AA2 22 JUIN 1 1
AX3 22 JUIN 1 1
EY8 22 JUIN 1 1
YY7 22 JUIN 1 1
AW1 23 JUIN 0 1
XX2 23 JUIN 1 1
BX3 23 JUIN 1 1
EE4 23 JUIN 1 1
DH2 23 JUIN 1 1
Je vous remercie d'avance pour votre aide
Bonjour,
Veuillez essayer cette solution.
sum({<SEMAINE={"$(=Max(SEMAINE))"}>}numerateur)/sum({<SEMAINE={"$(=Max(SEMAINE))"}>}Denominateur)
Bonjour
En script :
[Table]:
LOAD * INLINE
[
Id,SEMAINE,MOIS,numérateur,Dénominateur
XX1,21,MAI ,1,1
XX2,21,MAI ,0,1
XX3,21,MAI,1,1
YY7,21,MAI,0,1
YY8,21,MAI,1,1
WW1,22,JUIN,0,1
AA2,22,JUIN,1,1
AX3,22,JUIN,1,1
EY8,22,JUIN,1,1
YY7,22,JUIN,1,1
AW1,23,JUIN,0,1
XX2,23,JUIN,1,1
BX3,23,JUIN,1,1
EE4,23,JUIN,1,1
DH2,23,JUIN,1,1
](delimiter is ',');
left join Load
max(SEMAINE) as SEMAINE,
MOIS,
'Y' as flag
resident [Table]
group by MOIS;
Bonjour
Merci pour votre retour
Quand j'applique votre formule cela me renvoi la semaine 53 car dans le modèle de données la table est liée au calendrier.
J'obtiens un résultat qui n'est pas exact.
Cordialement,
Bonjour,
J'ai pensé au script mais vu que la table est liée à une autre table calendrier, le Max(semaine) me donne la semaine 53. Alors que j'ai besoin de lui dire de me donner la dernière semaine chargée, avec la possibilité d'appliquer un filtre. Plus précisément on est la semaine 27 c'est le résultat de la semaine 27 qui s'affiche et si j'applique un filtre sur le mois de MAI c'est le résultat de la dernière semaine du mois de MAI qui s'affiche (la semaine 21)
Bonjour
Dans ce cas dans le script tu peux mettre un flag en partant de la semaine de la date du jour week(today()) ou de la date de rechargement week(date(reloadtime() ))
Oui, pour cet exemple, vous devrez sélectionner un mois pour renvoyer la semaine maximale pour le mois donné. Si vous souhaitez définir par défaut la semaine maximale pour le mois en cours sans sélection, vous pouvez ajouter quelque chose comme celui-ci. (Cela suppose que vous avez le numéro de mois si votre calendrier. Vous pouvez ajouter si vous ne le faites pas).
Désolé pour les noms des fonctions étant en anglais, je ne suis pas de langue maternelle française.
sum({<SEMAINE={"$(=Max(SEMAINE))"}, MOIS_NOMBRE={"$(=Num(Month(Today()))"}>}numerateur)/sum({<SEMAINE={"$(=Max(SEMAINE))"}, MOIS_NOMBRE={"$(=Num(Month(Today()))"}>}Denominateur)