11 Replies Latest reply: Mar 24, 2017 12:16 PM by Sébastien Fatoux RSS

    Graphe empilé

    Maurice ludo

      Bonjour,

      je n'arrive pas à afficher mon graphe empilé correctement, quelqu'un peut m'aider s'il vous plait .

      dimension : semaine,jour , mois , nomjour

      l'espression quatre :

      =  if(CPSS='Certificats',

                    num(sum({< [CPSS]={'Certificats'}>} TOTAL <Mois , Semaine, Jour, NomJour> [<-30sec NB])/sum({< [CPSS]={'Cartes & Certificats'}>} TOTAL <Mois , Semaine, Jour, NomJour> [APPELS PRIS]),'00,##%'),

                    

                   if(CPSS='MSS',

                            num(sum({< [CPSS]={'MSSanté'}>} TOTAL <Mois , Semaine, Jour, NomJour> [<-30sec NB])/sum({< [CPS/MSS]={'MSS'}>} TOTAL <Mois , Semaine, Jour, NomJour> [APPELS PRIS]),'00,##%'),

                            if(CPSS='E-DO (produit)',

                            num(sum({< [CPSS]={'E-DO (produit)'}>} TOTAL <Mois , Semaine, Jour, NomJour> [<-30sec NB])/sum({< [CPSS]={'E-DO (produit)'}>}TOTAL <Mois , Semaine, Jour, NomJour> [APPELS PRIS]),'00,##%'),

                            if(CPSS='E-DO (service)',

                           num(sum({< [CPSS]={'E-DO (service)'}>} TOTAL <Mois , Semaine, Jour, NomJour> [<-30sec NB])/sum({< [CPS]={'E-DO (service)'}>}TOTAL <Mois , Semaine, Jour, NomJour>  [APPELS PRIS]),'00,##%'),0))))

          

                               //  num(count({$<Ressenti={'4 - Satisfait','5 - Très satisfait'}>} Ressenti) / count({$<Ressenti={"*"}>}Ressenti),'00,##%')))))

      pour 30s,60s.90s et plus

      ci-joint capture écran

       

      Cordialement

      Maurice

        • Re: Graphe empilé
          Sébastien Fatoux

          Pourrais-tu préciser ce qui pour toi ne vas pas?

           

          Car juste en voyant ton expression, je vois déjà plein de chose étrange, mais ne sachant pas quel est le problème à chercher.

           

          Les points qui me semblent étranges dans ton expression sont les suivants:

           

          =  if(CPSS='Certificats',

              num( sum({< [CPSS]={'Certificats'}>} TOTAL <Mois , Semaine, Jour, NomJour> [<-30sec NB])

                   /   sum({< [CPSS]={'Cartes & Certificats'}>} TOTAL <Mois , Semaine, Jour, NomJour> [APPELS PRIS]), '00,##%'),

              if(CPSS='MSS',

                  num( sum({< [CPSS]={'MSSanté'}>} TOTAL <Mois , Semaine, Jour, NomJour> [<-30sec NB])

                        /  sum({< [CPS/MSS]={'MSS'}>} TOTAL <Mois , Semaine, Jour, NomJour> [APPELS PRIS]), '00,##%'),

                   if(CPSS='E-DO (produit)',

                       num( sum({< [CPSS]={'E-DO (produit)'}>} TOTAL <Mois , Semaine, Jour, NomJour> [<-30sec NB])

                             /  sum({< [CPSS]={'E-DO (produit)'}>} TOTAL <Mois , Semaine, Jour, NomJour> [APPELS PRIS]),  '00,##%'),

                       if(CPSS='E-DO (service)',

                           num( sum({< [CPSS]={'E-DO (service)'}>} TOTAL <Mois , Semaine, Jour, NomJour> [<-30sec NB])

                                 /  sum({< [CPS]={'E-DO (service)'}>}TOTAL <Mois , Semaine, Jour, NomJour>  [APPELS PRIS]),'00,##%'),0))))

                           //  num(count({$<Ressenti={'4 - Satisfait','5 - Très satisfait'}>} Ressenti) / count({$<Ressenti={"*"}>}Ressenti),'00,##%')))))

           

          • En bleu, inconsistance entre les différentes valeur du champ CPSS
          • En vert,  inconsistance entre les différentes valeur du champ CPSS
          • En rouge, une fois tu n'utilise pas le champ CPSS, mais CPS
          • En orange, si tu commentes ainsi, tu commentes les parenthèses fermantes des if

           

          Questions:

          • Est-ce possible que plus d'une valeur de CPSS soit sélectionné?
          • Combien y a-t-il de valeur distincte de CPSS?
          • Pourquoi pour CPSS distinguer Certificats, MSS, E-DO (produit), E-DO (service) et les autres ?
            • Re: Graphe empilé
              Maurice ludo

              Merci Sébastien,

              voici la bonne expression,

              =  if(CPSS='Certificats',

                  num( sum({< [CPSS]={'Certificats'}>} TOTAL <Mois , Semaine, Jour, NomJour> [<-30sec NB])

                       /   sum({< [CPSS]={'Certificats'}>} TOTAL <Mois , Semaine, Jour, NomJour> [APPELS PRIS]), '00,##%'),

                  if(CPSS='MSS',

                      num( sum({< [CPSS]={'MSS'}>} TOTAL <Mois , Semaine, Jour, NomJour> [<-30sec NB])

                            /  sum({< [CPSS]={'MSS'}>} TOTAL <Mois , Semaine, Jour, NomJour> [APPELS PRIS]), '00,##%'),

                       if(CPSS='E-DO (produit)',

                           num( sum({< [CPSS]={'E-DO (produit)'}>} TOTAL <Mois , Semaine, Jour, NomJour> [<-30sec NB])

                                 /  sum({< [CPSS]={'E-DO (produit)'}>} TOTAL <Mois , Semaine, Jour, NomJour> [APPELS PRIS]),  '00,##%'),

                           if(CPSS='E-DO (service)',

                               num( sum({< [CPSS]={'E-DO (service)'}>} TOTAL <Mois , Semaine, Jour, NomJour> [<-30sec NB])

                                     /  sum({< [CPSS]={'E-DO (service)'}>}TOTAL <Mois , Semaine, Jour, NomJour>  [APPELS PRIS]),'00,##%'),0))))


              ce que ne vas pas le pourcentage , en sachant j'ai 4 expression :

              - 1 exp pour le NB 30s

              - 1 exp pour le NB 60s

              - 1 exp pour le NB 90s

              - 1 exp pour le NB > 90s

              je voudrais l'afficher dans un graphe empilé pour les quartes valeurs

              Merci

                • Re: Graphe empilé
                  Sébastien Fatoux

                  Je suppose que :

                  APPELS PRIS = NB 30s + NB 60s + NB 90s + NB > 90s

                   

                  Si c'est bien le cas c'est impossible d'avoir des données négatives comme présente dans ton graphe.

                  Cela signifie donc que la répartition de appels pris dans les différentes catégories n'est pas faite correctement.

                   

                  Si ce n'est pas le cas, cela peux peut-être expliquer les valeurs négatives, mais c'est certain que le résultat ne peut pas être correcte.

                   

                  Pour avoir une une somme des pourcentage égale à 100%, il faut que la somme des parties soit égale au tout.

                    • Re: Graphe empilé
                      Maurice ludo

                      oui Appels pris est la somme de nombre des appels décrochés en -30s, -60s,..et de appels pris sont repartie correctement, mais je ne sais pas d'ou ca viens le souci pourtant j'utilise la même expression dans d'autres est graphe et ça marche bien.

                        • Re: Graphe empilé
                          Sébastien Fatoux

                          Je ne pense pas pouvoir déterminer le problème sans l'application.

                           

                          Peux-tu nous transmettre une application avec ce graphe et les données nécessaires.

                            • Re: Graphe empilé
                              Maurice ludo

                              Voici l'appli

                                • Re: Graphe empilé
                                  Sébastien Fatoux

                                  Pour moi, le problème vient des données.

                                   

                                  J'ai fait une zone de table avec les champs suivant de la table Appel:

                                  • <-30sec NB
                                  • <-60sec NB
                                  • <-90sec NB
                                  • APPELS PRIS
                                  • 60 sec NB
                                  • 90 sec NB

                                   

                                  Les champs en vert viennent de différents fichiers, mais je ne trouve aucune trace des champs en orange dans le script de chargement. Je suppose qu'ils sont calculés sur la base des champs en vert.

                                   

                                  J'en ai déduit les règles suivantes:

                                  • Le champs <-60sec NB est toujours plus grand que <-30sec NB car il le contient.
                                  • Le champs <-90sec NB est toujours plus grand que <-60sec NB car il le contient.
                                  • Le champs APPELS PRIS est toujours plus grand que <-90sec NB car il le contient.
                                  • Le champs 60 sec NB correspond à la différence entre <-60sec NB et <-30sec NB
                                  • Le champs 90 sec NB correspond à la différence entre APPELS PRIS et <-90sec NB

                                   

                                  J'ai confirmé ces règles avec une petite table et quelques expression:

                                  • count([APPELS PRIS])
                                  • Sum(if([<-30sec NB] <= [<-60sec NB], 1, 0))
                                  • Sum(if(Alt([<-60sec NB],0) <= Alt([<-90sec NB],0), 1, 0))
                                  • Sum(if(Alt([<-90sec NB],0) <= Alt([APPELS PRIS],0), 1, 0))
                                  • Sum(if(Alt([<-60sec NB],0) <= [APPELS PRIS], 1, 0))
                                  • Sum(if((Alt([<-60sec NB],0) - Alt([<-30sec NB],0)) = [60 sec NB], 1, 0))
                                  • Sum(if((Alt([APPELS PRIS],0) - Alt([<-90sec NB],0)) = [90 sec NB], 1, 0))

                                  Community_1103944_1.png

                                   

                                  Je pense que le champ <-90sec NB n'est pas rempli correctement dans tous les fichiers sources.

                                  • Il contient des fois NULL
                                  • Il contient des fois des nombre à virgule
                                  • Il contient des fois des valeur supérieures à APPELS PRIS

                                   

                                  Community_1103944_2.pngCommunity_1103944_3.png

                                  Pour les identifier les fichiers sources à vérifier, ajoute dans ton script (onglet Appels) le champ FileName as Source et ajoute ce champ à la zone de table ci-dessus. le problème doit être limité à un ou 2 fichiers.

                                    • Re: Graphe empilé
                                      Maurice ludo

                                      oui, j'ai déja identifier l'erreur pour le mois décembre la condition

                                      • Le champs APPELS PRIS est toujours plus grand que <-90sec NB car il le contient.n'est pas exacte j'ai remonté l'info et j'attends les nouvelles données
                                      • pour les champs en orange correspond bien à la différence, ils sont calculé dans le script de modèle.

                                       

                                      du coup il fait que je corrige les données avant?

                                        • Re: Graphe empilé
                                          Sébastien Fatoux

                                          Il n'a pas que décembre qui pose problème, les mois de janvier 2016 à août 2016 posent également problème:

                                          Community_1237320_1.png

                                          On peut voir que pour la semaine 1, le champ <-90sec NB est NULL pour la moitié des lignes. Il est alors impossible de déterminer comment répartir la différence entre <-60sec NB et APPELS PRIS sur les appels supérieurs à 90 secondes et les appels entre 60 et 90 secondes. D'ailleurs, le champ 90 sec NB calculé dans le script de chargement est également NULL.

                                          C'est les cas pour tous les mois de janvier à août.

                                           

                                          Il faut que tu vérifie toutes tes données. Les règles doivent toujours être valide.

                                          Et que des corrections soit apportées ou si ce n'est pas possible que des règles soit appliquées au chargement des données.

                                           

                                           

                                          Tu trouveras en pièce jointe une version light de ton application (1 semaine de données) avec les objet ci-dessus et également une version du graphique simplifiée ne se basant que sur les champs de base (en vert dans mes messages).

                                          Il faut simplement créer une nouvelle feuille dans ton appli et y copier tous les objets.

                                           

                                          Je te laisse découvrir les simplifications effectuées sur le graphe ;-)

                                          Une règle a été définie qui dans le cas où est <-90sec NB NULL on prend la valeur de <-60sec NB pour les calculs, ce qui a pour effet d'avoir un NB 90 s à 0 est toutes la différence sur > NB 90 s

                                            • Re: Graphe empilé
                                              Maurice ludo

                                              Merci Sébastien,

                                              oui effectivement j'ai vérifié les données au prés de responsable on a pas des données de janvier a août pour les appels  <-90sec NB,

                                              je voudrai savoir comment faire pour mettre une condition, d'afficher que les données de décembre a Mars, si je sélectionne avril ou juin il n'affiche rien.

                                              Bien à toi