19 Replies Latest reply: Apr 12, 2017 3:26 AM by Bertrand Lantuéjoul RSS

    Changement de la couleur de l'équation

    Bertrand Lantuéjoul

      Bonjour.

       

      Je ne parviens pas à changer la couleur de l'équation linéaire (ou polynomiale d'ailleurs) de mon expression.

       

      Capture.PNG

       

      Comme vous le voyez, le noir est illisible.

       

       

      Cordialement,

        • Re: Changement de la couleur de l'équation
          Sébastien Fatoux

          Bonjour Bertrand,

           

          Je ne pense pas que l'on puisse modifier la couleur de l'équation.

           

          Une solution de contournement consisterai à ajouter l'équation comme texte de graphique ou la mettre dans un objet Texte externe suivant ton besoin. Tu pourras ainsi choisir sa couleur sa fonte.

           

          Tu peux utiliser l'expression suivante :

           

          = 'y = ' & linest_m(total aggr(Sum (Sales)),Month), Month) & 'x + ' & linest_b(total aggr(Sum (Sales)),Month), Month)

           

          Dans cette exemple, remplace Sum (Sales) par ton expression et Month par ta dimension

            • Re: Changement de la couleur de l'équation
              Bertrand Lantuéjoul

              Bonjour Sébastien.

               

              Merci pour ta réponse.

              Ton expression ne me renvoie pas la même chose que l'équation linéaire calculé automatique par qlikview.

              Voici mon expression: = 'y = ' & linest_m(total aggr(Sum (Volume), [Date de création]), [Date de création]) & 'x + ' & linest_b(total aggr(Sum (Volume), [Date de création] ), [Date de création])

                • Re: Changement de la couleur de l'équation
                  Sébastien Fatoux

                  Etrange, j'ai vérifier de mon côté et j'obtenai bien le même résultat.

                   

                  Peux-tu illustrer avec un printScreen où l'on voit l'équation  générée et celle calculée?

                    • Re: Changement de la couleur de l'équation
                      Bertrand Lantuéjoul

                      Au centre , l’équation QV en noir

                      En haut a droite, ton expression.Capture.PNG

                        • Re: Changement de la couleur de l'équation
                          Bertrand Lantuéjoul

                          Tiens tiens. Il y a un rapport sur trois qui est bon. Je vais chercher mon erreur. Toutes mes excuses.


                          En revanche, je fais du slicing et du dicing en fonction d'un bouton qui défini la dimension. J'ai 5 niveaux (Jour, semaine, mois, trimestre, année). Que me conseille tu de faire pour que ce soit le plus propre possible ? Car mon expression va des dizaines de conditions du coup. Il faut peut être que je créé une variable dimension ?


                          PS: ça donne ça uniquement pour le coefficient directeur de la droite:

                          linest_m(total aggr(Sum ([Nombre de tâches]), if(visu=0, WeekDay([Date de création])&' '&date(date#([Date de création],'YYYY-MM-DD'),'DD-MMM-YYYY'),

                          if(visu=1, WeekYear([Date de création])&' semaine '&Week([Date de création]),

                          if(visu=2, MonthName([Date de création]),

                          if(visu=3, QuarterName([Date de création]),

                          YearName([Date de création])))))), if(visu=0, WeekDay([Date de création])&' '&date(date#([Date de création],'YYYY-MM-DD'),'DD-MMM-YYYY'),

                          if(visu=1, WeekYear([Date de création])&' semaine '&Week([Date de création]),

                          if(visu=2, MonthName([Date de création]),

                          if(visu=3, QuarterName([Date de création]),

                          YearName([Date de création]))))))


                          Mais ça ne fonctionne pas.


                          Je ne peux utiliser l'outil conditionnel des expressions dont je me sers déjà pour une autre variable

                            • Re: Changement de la couleur de l'équation
                              Sébastien Fatoux

                              Dans un Aggr, tu as une expression et une ou plusieurs vrai dimensions (pas de dimension calculée).

                               

                              J'ai modifié un peu ton expression, afin qu'elle soit correcte du point de vue de l'aggr et plus efficace du point de vue de la fonction linest_m :

                               

                              linest_m(total aggr(Sum ([Nombre de tâches]), [Date de création)), if(visu=0, [Date de création],

                              if(visu=1, WeekStart([Date de création]),

                              if(visu=2, MonthStart([Date de création]),

                              if(visu=3, QuarterStart([Date de création]),

                              YearStart([Date de création]))))))

                                • Re: Changement de la couleur de l'équation
                                  Bertrand Lantuéjoul

                                  Merci beaucoup Sébastien mais le calcul n'est juste que lorsque je suis à la granularité "jour" ([Date de création]).

                                    • Re: Changement de la couleur de l'équation
                                      Bertrand Lantuéjoul

                                      Pour les rapports où ça ne fonctionne pas, j'ai peut être une piste. L'équation est calculée par qlikview en fonction de la pente réelle affichée. Il y a des dates où je n'ai pas de données. Ainsi, la pente est affectée puisqu'il devrait y avoir un "trou" dans les abscisses. Peut-être du coup que l'expression que tu m'as fourni prend en compte ce que je viens d’énoncer. Ce qui m'intéresse, c'est d'avoir l'augmentation moyenne sur une période en fonction de la granularité choisie. C'est à dire l'augmentation moyenne de points en points.

                                      Exemple: Si la granularité est au jour, on aura l'augmentation (ou la réduction) moyenne par jour.

                                      Si on choisi, l'année, on aura l'augmentation (ou la réduction) moyenne par année.


                                       

                                        • Re: Changement de la couleur de l'équation
                                          Sébastien Fatoux

                                          J'étais arrivé au même conclusion:

                                          • Tu peux résoudre le problème des données manquant dans ton graphe en créant un calendrier pour avoir toutes les dates et en désactivant "Supprimer les valeurs nulles" dans l'onglet présentation.
                                          • Du côté de mon expression, il y avait également un problème d'échelle comme tu l'a dit, car je prenais une date par période se qui faisait des écart entre les données de 7 jours pour les semaine, d'environ 30 pour les mois, ...
                                            • Ce point peut-être résolu en créant une valeur numérique continue associée à chaque période

                                           

                                          Je vais finaliser une petite application qui met ces points en évidence. Je te la posterai dans la journée.

                                            • Re: Changement de la couleur de l'équation
                                              Sébastien Fatoux

                                              C'était un peu plus complexe que ce que j'ai écrit précédemment, mais ça marche bien.

                                               

                                              J'ai basé mon exemple sur ta dernière copie d'écran, tu la trouveras l'application en pièce jointe:

                                               

                                              L'équation donne ceci au final:

                                               

                                              =if(visu=0,
                                              if(Len(Only([Date de création]))=0 ,
                                              'y = ' &
                                              Round(linest_m(aggr(Sum(Volumes), [Date de création]), [Date de création]), 0.1) & 'x + ' & Round((linest_m(aggr(Sum(Volumes), [Date de création]), [Date de création]) * Min([Date de création]) + linest_b(aggr(Sum(Volumes), [Date de création]), [Date de création])))
                                              ),
                                              if(visu=1,
                                              if(Len(Only([Semaine num de création]))=0 ,
                                              'y = ' &
                                              Round(linest_m(total aggr(Sum(Volumes), [Semaine num de création]), [Semaine num de création]), 0.1) & 'x + ' & Round((linest_m(aggr(Sum(Volumes), [Semaine num de création]), [Semaine num de création]) * Min([Semaine num de création]) + linest_b(aggr(Sum(Volumes), [Semaine num de création]), [Semaine num de création])))
                                              ),
                                              if(visu=2,
                                              if(Len(Only([Mois num de création]))=0 ,
                                              'y = ' &
                                              Round(linest_m(total aggr(Sum(Volumes), [Mois num de création]), [Mois num de création]), 0.1) & 'x + ' & Round((linest_m(aggr(Sum(Volumes), [Mois num de création]), [Mois num de création]) * Min([Mois num de création]) + linest_b(aggr(Sum(Volumes), [Mois num de création]), [Mois num de création])))
                                              ),
                                              if(visu=3,
                                              if(Len(Only([Trimestre num de création]))=0 ,
                                              'y = ' &
                                              Round(linest_m(total aggr(Sum(Volumes), [Trimestre num de création]),[Trimestre num de création]), 0.1) & 'x + ' & Round((linest_m(aggr(Sum(Volumes), [Trimestre num de création]), [Trimestre num de création]) * Min([Trimestre num de création]) + linest_b(aggr(Sum(Volumes), [Trimestre num de création]), [Trimestre num de création])))
                                              ),
                                              if(Len(Only([Année num de création]))=0 ,
                                              'y = ' &
                                              Round(linest_m(total aggr(Sum(Volumes), [Année num de création]), [Année num de création]), 0.1) & 'x + ' & Round((linest_m(aggr(Sum(Volumes), [Année num de création]), [Année num de création]) * Min([Année num de création]) + linest_b(aggr(Sum(Volumes), [Année num de création]), [Année num de création])))
                                              )
                                              ))))

                                                • Re: Changement de la couleur de l'équation
                                                  Bertrand Lantuéjoul

                                                  Ça ne fonctionne toujours pas chez moi car je n'ai pas de plage continue de date je pense. Je ne peux pas créer en dur une plage continue c'est évident. Je t'envoie mon rapport si tu vois une autre erreur ou une autre piste:

                                                    • Re: Changement de la couleur de l'équation
                                                      Sébastien Fatoux

                                                      Pourquoi ne peux-tu pas créer en dur une plage continue de date (calendrier) ?

                                                       

                                                      Il y a un autre problème bien plus important, c'est la création des valeurs numériques continues associées à chaque période qui n'a pas été fait correctement de ton côté, comme tu peux le voir ci-dessous :

                                                      Community_1246507_1.pngCommunity_1246507_2.png

                                                      La semaine qui porte la référence N°2 ne suit pas directement la semaine qui porte la référence N°1 (elle est même longtemps avant).

                                                       

                                                      Lors de la création de ces champs avec Autonumber, il faut absolument que les date soit triées. Dans mon cas, je l'ai fait en créant le calendrier, elles étaient donc ordonnées.

                                                       

                                                      Dans ton cas, ça devrait le faire si tu ajoute ORDER BY DATECREATION à la fin de ta requête SQL d'extraction des données source.

                                                        • Re: Changement de la couleur de l'équation
                                                          Bertrand Lantuéjoul

                                                          Et bien je ne vais pas créer en dur plus de 1000 dates ^^. Il n'y a pas moyen de le faire de manière dynamique ? J'ai ajouté un ORDER BY mais ca ne suffit pas bien sûr

                                                            • Re: Changement de la couleur de l'équation
                                                              Sébastien Fatoux

                                                              Bien sur qu'il faut le faire de manière dynamique.

                                                               

                                                              • J'ai repris ton application Test.qvw que j'ai appelé Productivité GTO_Data.qvw
                                                              • J'en ai fait une copie que j'ai appelé Productivité GTO_Modifié.qvw
                                                                • J'ai chargé les données de Productivité GTO_Data.qvw
                                                                • J'ai commenté ton code
                                                                • J'ai dropé les champs des valeurs numériques continues associées à chaque période
                                                                • J'ai dropé les champs Trimestre et Mois
                                                                • J'ai créé un calendrier basé sur le champ Date de création
                                                                  • Avec les champs des valeurs numériques continues associées à chaque période
                                                                  • Avec les champs libellé pour chaque période
                                                                  • Avec les champs Trimestre et Mois

                                                               

                                                              Je me suis aperçu que tu utilisais le système américain pour la numérotation des semaines (semaine partielle en début et fin d'année). J'ai donc modifié la génération du champ Semaine num de création et Libellé semaine de création en conséquence.

                                                               

                                                              J'ai également ajouté la variable TPL_libellé que j'utilise dans l'expression de génération de l'équation pour afficher l'équation correct en  fonction du choix de la mesure (Tâches, Pages, Lignes).

                                                               

                                                               

                                                              Tu trouveras Productivité GTO_Modifié.qvw en pièce jointe