Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Mettre à jour les paramètres du rapport en fonction de la sélection des paramètres ? (SSRS)

Cela fonctionne automatiquement si vous ordonnez correctement vos paramètres et jeux de données

  • Tout d'abord, configurez un ensemble de données principal (rapport), puis un ensemble de données pour chaque liste déroulante de paramètres. Codez le WHERE clause dans les ensembles de données pour corriger les dépendances entre les variables de paramètre
  • Deuxièmement, ordonnez vos paramètres dans le rapport | Menu Paramètres pour que le premier variable/paramètre que vous voulez que l'utilisateur remplisse est en haut, et faites dépendre le deuxième ensemble de données de ce paramètre. Suivez cet ordre à travers les paramètres ; le(s) dernier(s) paramètre(s) doit(vent) être celui(s) dont dépend le jeu de données réel du rapport.
  • Répéter pour les paramètres suivants

Cela fonctionnera si votre WHERE La clause dans le deuxième ensemble de données et les suivants ont des variables dont SSRS sait qu'elles sont renseignées à partir de paramètres antérieurs.

À titre d'exemple, j'ai trois ensembles de données des vénérables pubs base de données (échantillon en 2000).

pubslist est utilisé pour renseigner le paramètre @p et ressemble à ceci :

 select pub_id, pub_name from publishers

titleslist remplit le paramètre @t et ressemble à ceci :

 select title_id, title from titles where pub_id = @p

Enfin, reportdataset ressemble à ceci :

 select title, price, ytd_sales from titles where title_id = @t

L'ordre des paramètres dans le rapport Report | Report Parameters le menu est crucial ; étant donné que les ensembles de données doivent être exécutés dans l'ordre indiqué ci-dessus et que le paramètre @t se trouve dans un ensemble de données qui repose sur le paramètre @p défini en premier, nous déplaçons @p en haut de la liste.

Maintenant, SSRS évalue l'ensemble de données nécessaire pour remplir la liste déroulante du premier paramètre avec des étiquettes. Il s'appuie sur un ensemble de données qui n'a pas besoin de paramètre, il peut donc être produit immédiatement.

Ensuite, après avoir obtenu cette valeur de paramètre, il peut remplir la liste déroulante du deuxième paramètre. Cela entraîne à son tour la production du rapport.