Services de rapports SQL Server et développement de rapports

J'ai quatre sets de données, Plan, Prévisions, Actualités et SPLY pour huit lignes de produits différentes. Je souhaite append une mise en forme conditionnelle de la couleur d'arrière-plan si la valeur réelle est supérieure ou inférieure au Plan et / ou à la Prévision. Le rapport doit exporter correctement à Excel. Existe-t-il une façon d'utiliser un contrôle plutôt que de multiples boîtes de text pour afficher datatables, permettre le formatting conditionnel et l'export vers Excel? Merci!

Environnement:

SSRS 2010

SQL Server 2012

Grande question Lakeshore. Je vois deux possibilités:

  1. Rejoignez les sets de données set dans un seul set de données afin que les résultats renvoient le plan, la prévision et les valeurs réelles pour chaque ligne de produits. Ensuite, vous pouvez définir l'arrière-plan:

    =iif(Fields!Plan.Value > Fields!Actual.Value,"Pink","LightGreen") 
  2. Utilisez la fonction de search pour referencer les valeurs d'un set de données différent basé sur la ligne de produit:

     =iif(Lookup(Fields!ProductLine.Value,Fields!ProductLine.Value, Fields!Plan.Value,"Plan") > Fields!Actual.Value,"Pink","LightGreen") 

Rejoignez vos données set dans votre déclaration SQL pour le rapport afin que vous obteniez une ligne avec le produit, le plan réel, le plan, les prévisions dans le même set de données. Ensuite, vous pouvez utiliser une expression pour la couleur d'arrière-plan de la textbox que vous souhaitez formater conditionnellement.

Voici un exemple:

 =IIF(Fields!Actual.Value >= Fields!Plan.Value, "Green", "Red") 

Consultez également ce sujet pour plus de détails: Extension de champ SSRS pour modifier la couleur d'arrière-plan de la cellule

Ou vous pourriez utiliser une déclaration de commutation qui dirait si Réel est inférieur au plan et à la prévision, puis faites-le rouge, si au-dessus ou égal à deux puis faites le vert, sinon (Actuellement supposé être au-dessus de l'un et au-dessous de l'autre)

 =Switch(Fields!Actual.Value < Fields!Plan.Value and Fields!Actual.Value < Fields!Forecast.Value , "Red" , Fields!Actual.Value >= Fields!Plan.Value and Fields!Actual.Value >= Fields!Forecast.Value , "Green" , 1=1, "Yellow")