6 Replies Latest reply: Nov 28, 2014 10:11 AM by François Cavé RSS

    Objet texte et condition d'affichage

      Bonjour,

       

      Voici mon problème :

      Je voudrais afficher une information supplémentaire, en l’occurrence le taux de variation, sur un graphique en barre lorsque 2 semaines sont sélectionnées.

       

      Ce que je sais faire :

      Je me suis dit qu'on peut le faire avec un objet texte, en mettant un fond transparent à 100% et en mettant une la condition d'affichage GetSelectedCount(Semaine)=2.

      De cette manière je peux afficher du texte où je veux sur le graphique.

       

      Ce que je ne sais pas faire :

      Dans la zone de texte j'aimerais que soit afficher le résultat de la formule du taux de variation qui est la suivante :

      SET tx_var=Sum({$}volumetrie)/Above(Sum({$}volumetrie))-1;

       

      J'ai essayé avec un LET à la place du SET, ainsi que LET tx_var_bis=$(tx_var); mais ça me renvoie un message d'erreur au moment du rechargement du script.

      De plus, j'aimerais que le texte soit en vert si le résultat est supérieur ou égal à 0 et en rouge si le résultat est inférieur strictement à 0. Je pense que je pourrai le faire avec 2 objets texte, mais c'est peut-être faisable avec un seul.

       

      Est-ce que quelqu'un pourrait m'aider dans mon raisonnement?

      Est-ce que quelqu'un connaîtrait une autre méthode pour faire apparaître un texte sur un graphique en barre?

       

      Merci par avance.

       

      Guillaume

        • Re: Objet texte et condition d'affichage

          J'ai réussi à obtenir quelque chose, mais ça ne colle pas à ce que je souhaite :

           

          Dans le script, j'ai SET tx_var=Sum({$}volumetrie)/Above(Sum({$}volumetrie))-1;

           

          Donc dans la partie texte de l'objet texte, j'ai mis =$(tx_var) mais ça ne fonctionne pas, ça me renvoie un "-".

           

          En fait ce genre de calcul fonctionne bien dans un tableau croisé dynamique avec pour dimensions Année et Semaine puis en expresssion le taux de variation.

          Si je sélectionne 2 semaines, j'ai 4 lignes (2 pour l'année 2013 et 2 pour l'année 2014), et le taux de variation qui apparaît sur la ligne de la deuxième semaine.

           

          J'aurai voulu afficher cette information directement sur le graphique (plutôt que dans un TCD), mais après réflexion, je me demande s'il y a vraiment une solution à ce problème...

            • Re: Objet texte et condition d'affichage

              C'est un peu laborieux, mais j'ai une manipulation qui fonctionne :

               

              1) Créer l'objet texte.

              2) Dans le texte mettre la formule suivante :

              =Round((Sum({$<Année={$(=Min(Année))}, Semaine={$(=Max(Semaine))}>}volumetrie)

              /Sum({$<Année={$(=Min(Année))},Semaine={$(=Min(Semaine))}>}volumetrie)-1)*100,0.01,0.01) & '%'

               

              Remarque : je souhaite avoir le résultat en pourcentage et avec 2 chiffres après la virgule. D'où le *100 et Round()

               

              3) Dans l'onglet Disposition de l'objet texte :

                   a) Dans "Couche", choisir Supérieure, comme ça la boîte passe au-dessus du graphique

                   b) Dans "Afficher", choisir Conditionnel et mettre la formule :

                        GetSelectedCount(Semaine)=2 AND GetSelectedCount(Année)=2

               

              4) Déplacer l'objet texte à l'endroit souhaité puis mettre la transparence à 100%.

               

               

              Il ne me reste plus qu'à savoir mettre une condition sur la couleur d'affichage : vert si le taux de variation est positif et rouge sinon. Si quelqu'un sait comment faire avec un seul objet texte, je suis preneur.

               

              Remarque générale :

              Pour que ces objets textes apparaissent, il faut absolument que l'utilisateur sélectionne 2 années et 2 semaines. Sans ça, rien de plus ne sera affiché sur le graphique. Cette méthode a donc ses limites.

            • Re: Objet texte et condition d'affichage

              Bonjour,

               

              plutôt que de faire un objet texte, tu peux mettre ta fonction dans Disposition / "Texte dans le Graphique"

               

              Bonne journée

                • Re: Objet texte et condition d'affichage

                  Bonjour Gaëtan,

                   

                  Merci pour ton retour. C'est une option que je ne connaissais pas.

                  Elle se trouve dans l'onglet Présentation / "Texte dans le Graphique". Je ne l'ai pas trouvé dans l'onglet Disposition.

                   

                  Après, ça ne répond pas à mon besoin, car je souhaitais voir les valeurs apparaître de façon conditionnelle et à un endroit bien précis dans le graphique. Et avec l'option Présentation / "Texte dans le Graphique", je ne peux a priori pas le faire.

                   

                  Guillaume

                    • Re: Objet texte et condition d'affichage
                      François Cavé

                      Bonjour Guillaume,

                      Tu peux rendre "conditionnel" un Texte dans le graphique avec une fonction IF (c'est un peu moins propre que l'affichage conditionnel). Pour déplacer le Texte dans le graphique, tu dois faire "Ctrl+shift" de ton clavier. Un encart rouge s'affiche alors et tu peux déplacer le texte à l'aide de la souris (en maintenant la combinaison au clavier)...

                       

                      Par ailleurs, as-tu essayé de rédiger ton expression dans "Afficher la valeur"? C'est une zone qui se trouve quand tu développes (avec le +) ton expression (onglet Expressions). Tu y trouveras aussi le moyen de gérer la couleur.

                       

                      François