24 Replies Latest reply: Dec 14, 2016 8:49 AM by Sébastien Fatoux RSS

    Comparer CA mois mois-1

    Maurice ludo

      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

        • Re: Comparer CA mois mois-1
          bruno bertels

          Bonjour

           

          Essayes ceci sous réserve que tu aies une dimension [Mois]

           

          Mois en cours

          Sum({<[Mois]={'$(=max([Mois]))'}>} [CA])

          Mois précédent :

          Sum({<[Mois]={'$(=max([Mois])-1)'}>} [CA])

           

          A présent cette comparaison te donnera

          Total Mois précédent et Total mois en cours si tu es en milieu de mois tu auras 30 jours du mois précédent et 15 jours du mois en cours

           

          Tu veux peut être pouvoir comparer de date à  date. Ainsi si le mois en cours tu n'as que 15 jours , pouvoir comparer avec les 15 premiers jours du mois précédent.

          Dans ce cas il te faut une dimension Date:

           

          Différence entre Total à Date N et total à Date N-1

          //CA du mois en cours :

          (Sum({$<Mois= {$(=Max(Mois))}, [Date] = {'<=$(=Date(Max([Date]),'DD/MM/YYYY'))'}>} [CA])

          -

          //CA du Mois M-1 à la date du jour de M-1

          Sum({$<Mois= {$(=Max(Mois)-1)}, [Date] = {'<=$(=Date(AddMonth(Max([Date]),-1),'DD/MM/YYYY'))'}>} [Sales]))

           

          Bruno

            • Re: Comparer CA mois mois-1
              Maurice ludo

              Merci Bruno:

              finalement voici l'expression que je voudrais mettre en place :

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

              num(sum({<[Mois]={'$(=max([Mois])-1)'}>}

              [<-30sec NB])

              /

              sum({<[Mois]={'$(=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,##%'))

               

              voici le message d'erreur Error: Error in set modifier expression

                • Re: Comparer CA mois mois-1
                  bruno bertels

                  Bonjour

                   

                  au vu de ta formule tu travailles en centre d'appels , me too

                   

                  Essaye avec celle ci :

                   

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

                   

                  num(

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

                  /

                  sum({<[Mois]={'$(=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,##%'))

                   

                  L'erreur provient de ceci en rouge devant les dimension [Mois]: {<

                   

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

                  num(sum({<[Mois]={'$(=max([Mois])-1)'}>}

                  [<-30sec NB])

                  /

                  sum({<[Mois]={'$(=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,##%'))

                    • Re: Comparer CA mois mois-1
                      Maurice ludo

                      Bruno dans une agence de SI,

                      malheureusement toujours pas l'expression ne m'affiche rien ;(

                        • Re: Comparer CA mois mois-1
                          Sébastien Fatoux

                          Que contient exactement ton champ Mois?

                            • Re: Comparer CA mois mois-1
                              Maurice ludo

                                le champ Mois

                              Jan
                              Feb
                              Mar
                              Apr
                              May
                              Jun
                              Jul
                              Aug
                              Sep
                              Oct
                              Nov
                              Dec
                                • Re: Comparer CA mois mois-1
                                  Sébastien Fatoux

                                  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
                                  • Re: Comparer CA mois mois-1
                                    bruno bertels

                                    Bonjour

                                     

                                    Pour remettre en num ton expression

                                     

                                    max(num(Mois))

                                    max(num(Mois)-1)

                                     

                                    Bruno

                                      • Re: Comparer CA mois mois-1
                                        Sébastien Fatoux

                                        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)?

                                         

                                         

                                         



                                          • Re: Comparer CA mois mois-1
                                            Maurice ludo

                                            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

                                              • Re: Comparer CA mois mois-1
                                                Sébastien Fatoux

                                                Oui, ça sera plus simple

                                                  • Re: Comparer CA mois mois-1
                                                    Maurice ludo

                                                    ton adresse email stp merci

                                                      • Re: Comparer CA mois mois-1
                                                        Sébastien Fatoux

                                                        Tu devrais la voir si tu te positionnes sur mon nom

                                                          • Re: Comparer CA mois mois-1
                                                            Sébastien Fatoux

                                                            Bonjour,

                                                             

                                                            Je viens te renvoyer ton application modifiée. J'ai ajouté un tableau en bas à gauche et toutes les modifications que j'ai faite sont exclusivement dans ce tableau. je te laisse les reporter dans les autres objet si tu le désires.

                                                             

                                                            Voici les modification effectuées:

                                                            • Simplification de ton expression
                                                              • Tu avais 2 sous expressions en fonction d'une sélection ou pas de ton champ CPS_MSS.
                                                                ==> Attention, tes expressions actuelles ne fonctionnent pas si tu sélectionnes les 2 valeurs (CPS et MSS)
                                                                J'ai modifié la partie du Set Analysis qui concerne ce champ pour que ça fonctionne tout le temps : [CPS/MSS]=p(CPS_MSS)
                                                            • Sélection du mois
                                                              • Pour le tableau, je gère directement les 3 cas :  [<-30sec NB], [<-60sec NB] et [<-90sec NB]
                                                              • Ajout dans le set analysis :
                                                                • Sélection de l'année :  
                                                                • Sélection du mois :    [Mois]={'$(=Month(Max([Date Appel])))'}
                                                                • Désélection des jours et des heures:    Jour=, Heures=

                                                            = num(
                                                                 
                                                            If (ValueList('<-30sec NB','<-60sec NB','<-90sec NB') = '<-30sec NB',
                                                                      
                                                            sum({<[CPS/MSS]=p(CPS_MSS), [Mois]={'$(=Month(Max([Date Appel])))'}, Jour=, Heures=>} [<-30sec NB]),
                                                                      
                                                            If (ValueList('<-30sec NB','<-60sec NB','<-90sec NB') = '<-60sec NB',
                                                                           
                                                            sum({<[CPS/MSS]=p(CPS_MSS), [Mois]={'$(=Month(Max([Date Appel])))'}, Jour=, Heures=>} [<-60sec NB]),
                                                                           
                                                            sum({<[CPS/MSS]=p(CPS_MSS), [Mois]={'$(=Month(Max([Date Appel])))'}, Jour=, Heures=>} [<-90sec NB])
                                                                       )
                                                                  )
                                                                  /
                                                            sum({<[CPS/MSS]=p(CPS_MSS), [Mois]={'$(=Month(Max([Date Appel])))'}, Jour=, Heures=>} [APPELS PRIS]),
                                                            '00,##%')

                                                             

                                                             

                                                             

                                                            • Sélection du mois-1
                                                              • Pour le tableau, je gère directement les 3 cas :  [<-30sec NB], [<-60sec NB] et [<-90sec NB]
                                                              • Ajout dans le set analysis :
                                                                • Sélection de l'année :    Année={'$(=Year(AddMonths(Max([Date Appel]),-1)))'}
                                                                • Sélection du mois :    [Mois]={'$(=Month(AddMonths(Max([Date Appel]),-1)))'}
                                                                • Désélection des jours et des heures:    Jour=, Heures=

                                                            = num(
                                                                 
                                                            If (ValueList('<-30sec NB','<-60sec NB','<-90sec NB') = '<-30sec NB',
                                                                     
                                                            sum({<[CPS/MSS]=p(CPS_MSS), Année={'$(=Year(AddMonths(Max([Date Appel]),-1)))'},
                                                                                  [Mois]={'$(=Month(AddMonths(Max([Date Appel]),-1)))'}, Jour=, Heures=>}  [<-30sec NB]),
                                                                      
                                                            If (ValueList('<-30sec NB','<-60sec NB','<-90sec NB') = '<-60sec NB',
                                                                           
                                                            sum({<[CPS/MSS]=p(CPS_MSS), Année={'$(=Year(AddMonths(Max([Date Appel]),-1)))'},
                                                                                      
                                                            [Mois]={'$(=Month(AddMonths(Max([Date Appel]),-1)))'}, Jour=, Heures=>} [<-60sec NB]),
                                                                           
                                                            sum({<[CPS/MSS]=p(CPS_MSS), Année={'$(=Year(AddMonths(Max([Date Appel]),-1)))'},
                                                                                      
                                                            [Mois]={'$(=Month(AddMonths(Max([Date Appel]),-1)))'}, Jour=, Heures=>} [<-90sec NB])
                                                                      )
                                                                  )
                                                                  /
                                                            sum({<[CPS/MSS]=p(CPS_MSS), Année={'$(=Year(AddMonths(Max([Date Appel]),-1)))'},
                                                                              
                                                            [Mois]={'$(=Month(AddMonths(Max([Date Appel]),-1)))'}, Jour=, Heures=>} [APPELS PRIS]),
                                                            '00,##%')

                                                             

                                                             

                                                             

                                                             

                                                              • Re: Comparer CA mois mois-1
                                                                Sébastien Fatoux

                                                                Bonjour Maurice,

                                                                 

                                                                As-tu bien reçu mon email?

                                                                Et as-tu pu télécharger l'application modifiée.

                                                                  • Re: Comparer CA mois mois-1
                                                                    Maurice ludo

                                                                    Bonjour Sébastien,

                                                                    oui j'ai bien récupéré l'application modifiée, merci pour ton aide

                                                                    • Re: Comparer CA mois mois-1
                                                                      Maurice ludo

                                                                      si non pour calculer le mois n-1 pour un indicateur déjà calculé : =num([Taux de satisfaction],'00,##%') t'as une idée ? merci

                                                                      num(sum({<[CPS/MSS]=p(CPS_MSS), Année={'$(=Year(AddMonths(Max([Date Appel]),-1)))'}, [Mois]={'$(=Month(AddMonths(Max([Date Appel]),-1)))'}, Jour=, Heures=>} )

                                                                        • Re: Comparer CA mois mois-1
                                                                          Sébastien Fatoux

                                                                          Salut,

                                                                           

                                                                          Dans ton modèle tes taux de satisfaction sont lié par le mois au calendrier.

                                                                          ça fonctionne pour l'instant, car tu n'as qu'une année. Tu auras des problème lorsque tu en auras 2.

                                                                           

                                                                          Tu devrais supprimer (ou commenter) les champs Mois et Année_T de ta table "Taux de SATCLI" et au remommer le champ DateTaux en MoisAnnée pour te lier au calendrier, ainsi tu n'auras pas de problème (le problème, c'est qu'ils n'ont pas la même représentation texte)

                                                                           

                                                                          Et tu pourras alors avoir le taux de satisfaction du mois et du mois -1 :

                                                                          =num({<MoisAnnée = {$(=Date(Max(MoisAnnée),'DD/MM/YYYY'))}>} [Taux de satisfaction],'00,##%')

                                                                          =num({<MoisAnnée = {$(=Date(AddMonths(Max(MoisAnnée), -1),'DD/MM/YYYY'))}>}[Taux de satisfaction],'00,##%')

                                                              • Re: Comparer CA mois mois-1
                                                                bruno bertels

                                                                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

                                                      • Re: Comparer CA mois mois-1
                                                        bruno bertels

                                                        OK

                                                         

                                                        Bon ben alors la il va falloir tester indépendamment chaque élément de la formule pour voir le résultat que çà retourne et identifier pourquoi elle ne retourne rien

                                                         

                                                        Donc dans des boites KPI tester :

                                                        ta variable

                                                        $(vCP_MS)

                                                        puis ='$(vCP_MS)'

                                                        puis

                                                        =GetSelectedCount($(vCP_MS))  quel résultat ?

                                                        puis

                                                        sum({<[Mois]={'$(=max([Mois])-1)'}>}[<-30sec NB]) quel résultat ? Quel est le format de ton champ MOIS ?

                                                        puis

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

                                                         

                                                        etc ....

                                                    • Re: Comparer CA mois mois-1
                                                      Sébastien Fatoux

                                                      Tu ne devrais plus avoir l'erreur de syntaxe :

                                                       

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

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

                                                        / sum({<[Mois]={'$(=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,##%')

                                                      )