Bonjour à tous
je me présente : je suis nouvelle sur le forum et nouvelle sur l'outil BI de Microsoft (je suis en cours de reconversion professionnelle depuis 3 mois), je planche en ce moment sur des rapports SSRS à mettre en place pour un client et je rencontre un souci :
Je dois faire en sorte qu'une cellule de mon rapport prenne une couleur différente (truc classique : vert, orange, rouge) en fonction de la valeur de cette cellule qui est un calcul fait à partir d'autres champs du rapport, après un essai infructueux avec deux iif imbriqués, j'ai utilisé l'option Switch, j'ai donc cette expression dans la propriété BackgroundColor de ma cellule qui marche :
=Switch(ReportItems("pourcentageTOTAL").value < .4, "Red", ReportItems("pourcentageTOTAL").value>= .6, "Green", ReportItems("pourcentageTOTAL").value < .6, "DarkOrange")
1ère question : au lieu d'avoir les seuils en dur dans l'expression, j'aurais voulu les récupérer dans une table sql (pour pouvoir les changer à un seul endroit si besoin), j'ai donc créer une table dans ma base sql server, créer un dataset récupérant les valeurs dans mon rapport SSRS, mais quand je code ceci :
=Switch(ReportItems("pourcentageTOTAL").value < (Fields!seuil1.Value, "DataSet2"), "Red", ReportItems("pourcentageTOTAL").value>= (Fields!seuil2.Value, "DataSet2"), "Green", ReportItems("pourcentageTOTAL").value < (Fields!seuil2.Value, "DataSet2"), "DarkOrange")
j'ai l'erreur (3 fois) :
[rsFieldReference] The BackgroundColor expression for the textbox ‘pourcentageTOTAL’ refers to the field ‘seuil1’. Report item expressions can only refer to fields within the current data set scope or, if inside an aggregate, the specified data set scope.
apparemment il n'accepte pas que j'aille chercher des données d'un autre dataset.. avez-vous une idée pour contourner ce pb?
2ème question : comme ma cellule est un calcul et que je ne voulais pas le répéter dans l'expression j'ai fini par trouver la collection ReportsItem qui associé au nom de ma textbox me permet de tester la valeur de ma cellule, sauf que je dois appliquer mon expression sur tout une colonne de mon rapport qui contient 3 groupes et une ligne total ce qui veut dire que j'ai 4 textbox différentes pour ma colonne dans mon rapport, y'a-t-il un "truc" pour dire "la valeur de la cellule en cours" sans avoir besoin de nommer la textbox?
J'espère avoir été claire dans mes questions, sinon n'hésitez pas à me demander des précisions, merci par avance pour vos idées
nota : quand on a une question à poser qui est en rapport avec un topic existant vaut-il mieux se greffer sur ce topic même ancien et même noté résolu, ou en créer un nouveau?
Partager