Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
MauriceLudo
Creator II
Creator II

Comparer CA mois mois-1

Bonjour,

je voudrais comparer le chiffre d'affaire de mois en cours par rapport au mois précédent, comment je peux procéder s'il vous plait merci d'avance.

Cordialement

Maurice

24 Replies
MauriceLudo
Creator II
Creator II
Author

  le champ Mois

Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
sfatoux72
Partner - Specialist
Partner - Specialist

Ok, donc soit c'est du texte, soit c'est une date (1er jour du mois) avec un format 'MMM', mais dans les 2 cas $(=max([Mois])-1) ne va pas te retourner le résultat attendu:

  • Si c'est du texte, c'est mort. Tu ne peux pas soustraire 1 à du texte
  • si c'est une date, cela va te retourner le dernier jour du mois precedent
sfatoux72
Partner - Specialist
Partner - Specialist

Que te retourne les expressions suivantes dans un objet KPI :

  • =max([Mois])
  • =max([Mois])-1
brunobertels
Master
Master

Bonjour

Pour remettre en num ton expression

max(num(Mois))

max(num(Mois)-1)

Bruno

sfatoux72
Partner - Specialist
Partner - Specialist

Je crois que j'ai trouvé le problème. Il y en a 2 en fait.

Le champ est en fait un Dual (valeur numérique avec représentation sous forme de texte), si tu l'as construit avec la fonction MonthName, la fonction Max() va fonctionner et retourner la valeur numérique (il n'y a donc pas besoin d'ajouter la fonction num)

  1. Le premier problème vient du Max(Mois)-1 qui va retourner 0 lorsque le mois considéré sera le mois de janvier.
    Il est possible d'utiliser l'expression Mod((Max(Mois)+10), 12)+1 pour obtenir 12 (donc le mois de décembre). Ceci amène un autre problème, il faut également sélectionner l'année précédente dans ce cas.

  2. le Set analysis compare les représentations sous forme de texte, il faut donc transformer cette valeur numérique calculée sous forme de texte avec par exemple : SubField(MonthNames, ';', Max(Mois)-1)

Donc si tu utilise l'expression suivante ça devrait fonctionner, sauf lorsque le mois est Janvier (voir point 1) :

=if(GetSelectedCount($(vCP_MS))=0,

num(sum({<[Mois]={'$(=SubField(MonthNames, ';', Max(Mois)-1))'}>} [<-30sec NB])

  / sum({<[Mois]={'$(=SubField(MonthNames, ';', Max(Mois)-1))'}>}[APPELS PRIS]),'00,##%'),

num(sum({<[CPMS]={'$(=$(vCP_MS))'},[Mois]={'$(=max([Mois])-1)'}>} [<-30sec NB])

  / sum({<[CPMS]={'$(=$(vCP_MS))'},[Mois]={'$(=max([Mois])-1)'}>} [APPELS PRIS]),'00,##%')

)

Le plus simple serait d'utiliser un champ date.

As-tu un champ Date et un champ Année?

Quels sont les champs temporelle que tu utilises dans ton interface (que les utilisateur peuvent sélectionner)?



MauriceLudo
Creator II
Creator II
Author

Bonjour Sébastien,

merci pour ton aide oui j'ai un champ Date et un champ Année, j'ai testé ta solution mais sans sucées,je pense il y a une erreur de syntaxe 

=if(GetSelectedCount($(vCP_MS))=0,

num(sum({<[Mois]={'$(=SubField(MonthNames, ';', Max(Mois)-1) '  à ce niveau  }>} [<-30sec NB])

  / sum({<[Mois]={'$(=SubField(MonthNames, ';', Max(Mois)-1))'}>}[APPELS PRIS]),'00,##%'),

num(sum({<[CPMS]={'$(=$(vCP_MS))'},[Mois]={'$(=max([Mois])-1)'}>} [<-30sec NB])

  / sum({<[CPMS]={'$(=$(vCP_MS))'},[Mois]={'$(=max([Mois])-1)'}>} [APPELS PRIS]),'00,##%')

)

je peux t'envoyer l'appli en privé ??

merci

sfatoux72
Partner - Specialist
Partner - Specialist

Oui, ça sera plus simple

MauriceLudo
Creator II
Creator II
Author

ton adresse email stp merci

sfatoux72
Partner - Specialist
Partner - Specialist

Tu devrais la voir si tu te positionnes sur mon nom

brunobertels
Master
Master

Maurice, Sébastien

Est ce que en passant par la fonction Addmonths ce ne serait pas plus simple surtout si il y a un champ date du coup ?

Bruno