Mise à jour des paramètres de rapport en fonction de la sélection des paramètres? (SSRS)
J'ai créé un rapport de SSRS avec deux paramètres de rapport. J'aimerais que la deuxième de mettre à jour ses valeurs en fonction de la sélection dans la première. La première est une liste d'agents de vente, et la seconde est une liste de distributeurs. Chaque agent peut avoir de nombreux distributeurs.
Donc, si le rapport de l'utilisateur sélectionne un agent, je voudrais seulement leurs distributeurs à afficher dans la liste pour le second paramètres. Évidemment, les valeurs de paramètre viendra à partir d'une requête, mais je ne sais pas comment le faire relier la liste une fois qu'ils sélectionner un agent.
source d'informationauteur Jon Dewees
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne automatiquement si vous commandez vos paramètres et les ensembles de données correctement
WHERE
clause dans les ensembles de données des dépendances correctes à travers les variables de paramètreCela ne fonctionnera que si votre
WHERE
clause dans les deuxième et troisième ensembles de données ont des variables qui SSRS sait sont remplis à partir des premiers paramètres.Comme un exemple, j'ai trois jeux de données de la vénérable
pubs
base de données (échantillon en 2000).pubslist
est utilisé pour remplir l' @p paramètre, et ressemble à ceci:titleslist
remplit la @paramètre t, et ressemble à ceci:Enfin,
reportdataset
ressemble à ceci:L'ordre des paramètres dans le
Report | Report Parameters
menu est crucial, parce que les ensembles de données doivent être exécutées dans l'ordre indiqué ci-dessus, et le @paramètre t est un ensemble de données qui s'appuie sur l' @p paramètre à définir tout d'abord, nous nous déplaçons @p en haut de la liste.Maintenant, SSRS évalue l'ensemble de données nécessaires pour remplir la liste déroulante pour le premier paramètre avec des étiquettes. Il s'appuie sur un ensemble de données qui n'a pas besoin d'un paramètre, donc peut être produite immédiatement.
Puis, après avoir obtenu que la valeur d'un paramètre, il est possible de remplir le deuxième paramètre de la liste déroulante. Qui à son tour les résultats dans le rapport produit.
Vous créez d'abord un jeu de données avec une liste des éléments que l'utilisateur peut sélectionner à partir.
Vous créez ensuite la deuxième série de données;
par exemple.
Select ID,ItemName from Orders where agentid=@agentid
DANS votre rapport paramenter, vous cliquez sur agentid paramètre, puis à partir d'une Requête sur les valeurs disponibles. Vous sélectionnez dataset1 et l'ID de la valeur et AgentName comme Étiquette.
Votre dernier jeu de données va être les données réelles. En cela, Vous créez votre déclaration comme :
Select Quantity, Amount From Orderdetails where OrderID=@orderid
Dans les rapports de service, vous accédez aux paramètres et l'ensemble Afin d'obtenir la valeur de Dataset2
Ainsi, la Commande de paramètre doit être agentid, n ° de commande. Les rapports de Service seront automatiquement l'invite de paramètre par ordre.
Vous aurez probablement besoin de créer une source de données partagée pour les multiples ensembles de données
si vous affichez un aperçu du rapport, il vous sera demander un valeur entrée pour param_name avant l'affichage de l'état...
maintenant, allez à l'onglet données, puis ajouter un nouveau jeu de données.... appeler dsPopParam
Remarque importante: dans le cas où le rapport n'est pas rendu ou d'une exception a été levée, juste passer à l'onglet données, sélectionnez le rapport dataset et exécuter la requête, vous serez invité à entrer une valeur pour param_name...le saisir et de l'exécuter... puis de passer à l'onglet aperçu et
Je n'ai pas essayé moi-même, mais j'ai vu un exemple où ils ont configuré des Valeurs Disponibles à venir à partir d'une requête, puis utilise une expression pour spécifier la requête. L'expression comprend la valeur du premier paramètre.