Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

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

Labels (1)
1 Solution

Accepted Solutions
Not applicable
Author

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.

View solution in original post

6 Replies
Not applicable
Author

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...

Not applicable
Author

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.

Not applicable
Author

Pour la couleur :

Dans l'onglet "Police", cliquer sur Couleur, puis dans Couleur de base choisir Calculé et rentrer la formule suivante :

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

/Sum({$<Année={$(=Min(Année))},Semaine={$(=Min(Semaine))}>}volumetrie)-1)<0,Red(),Green())

Not applicable
Author

Bonjour,

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

Bonne journée

Not applicable
Author

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

francoiscave
Partner - Creator III
Partner - Creator III

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