J'ai créé un rapport dans SSRS avec deux paramètres de rapport. Je voudrais que le second mette à jour ses valeurs en fonction de la sélection dans le premier. Le premier est une liste d'agents de vente, et le second est une liste de distributeurs. Chaque agent peut avoir plusieurs distributeurs. Donc, si l'utilisateur du rapport sélectionne un agent, j'aimerais que seuls ses distributeurs apparaissent dans la liste pour les deuxièmes paramètres. Évidemment, les valeurs des paramètres proviendront d'une requête, mais je ne sais pas comment la relier à la liste après avoir sélectionné un agent.Mise à jour des paramètres de rapport en fonction de la sélection des paramètres? (SSRS)
Répondre
Cela fonctionne automagiquement si vous commandez vos paramètres et des jeux de données correctement
- Tout d'abord, mettre en place un ensemble de données primaire (rapport), puis un ensemble de données pour chaque menu déroulant des paramètres. Code la clause
WHERE
dans les ensembles de données pour rendre les dépendances correctes à travers les variables de paramètre - Deuxièmement, commandez vos paramètres dans le rapport | Le menu des paramètres de sorte que la première variable/paramètre que vous voulez que l'utilisateur remplisse soit en haut et que le second dataset dépende de ce paramètre. Suivez cette commande à travers les paramètres; le (s) dernier (s) paramètre (s) doit (doivent) être celui (s) dont dépend le jeu de données du rapport.
- Répéter pour les paramètres suivants
Cela fonctionnera si votre WHERE
clause dans les ensembles de données deuxième et les suivants ont des variables qui SSRS sont peuplées de connaît les paramètres précédents. Par exemple, j'ai trois jeux de données de la base de données vénérable pubs
(échantillon en 2000).
pubslist
est utilisé pour alimenter 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
Le l'ordre des paramètres dans le menu Report | Report Parameters
est crucial; Parce que les jeux de données doivent être exécutés dans l'ordre indiqué ci-dessus et que le paramètre @t est dans un jeu 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 repose sur un jeu de données qui n'a pas besoin de paramètre, donc peut être produit immédiatement. Ensuite, après avoir obtenu cette valeur de paramètre, il peut remplir la liste déroulante du second paramètre. Cela entraîne à son tour la production du rapport.
Je ne l'ai pas essayé moi-même, mais j'ai vu un exemple où ils ont configuré les valeurs disponibles à partir d'une requête, puis utilisé une expression pour spécifier la requête. L'expression incluait la valeur du premier paramètre.
Cela ne fonctionne pas. – LWoodyiii
Vous créez d'abord un ensemble de données avec une liste d'éléments parmi lesquels l'utilisateur va sélectionner.
Select ID,Agentname from Agents Order by Agentname
Vous créez ensuite le deuxième ensemble de données;
par ex. Dans votre paramétrage de rapport, vous cliquez sur le paramètre agentid puis sur une requête sur les valeurs disponibles. Vous sélectionnez dataset1 et ID comme valeur et AgentName comme Label.
Votre dernier ensemble de données sera les données réelles. Dans cette Vous créez votre déclaration comme:
Select Quantity, Amount From Orderdetails where [email protected]
En service de reporting, vous allez au paramètre et l'ordre de jeu pour obtenir la valeur de Dataset2
Ainsi l'Ordre du paramètre doit être agentid, orderid. Reporting Service vous invite automatiquement à paramétrer par ordre.
Vous aurez probablement besoin de créer une source de données partagées pour les ensembles de données multiples
- Conception d'abord le rapport avec la requête et les champs à afficher sans aucun paramètre. De cette façon, vous serez en mesure de définir l'ensemble de données principal du rapport.
- mettre à jour la requête de l'ensemble de données en ajoutant le paramètre. utilisez toujours @ avant param_name
- dans la vue de présentation du rapport, cliquez avec le bouton droit de la souris et sélectionnez les paramètres dans le menu contextuel.
- la liste de paramètres aura automatiquement le nom param sans le signe @.
- sélectionner le paramètre dans la liste et mettre à jour les propriétés ...
si vous affichez un aperçu du rapport, il demandera une valeur saisie pour param_name avant de voir le rapport ...
aller maintenant à l'onglet de données, et ajouter un nouvel ensemble de données .... appelez-le dsPopParam
- la requête sera utilisée pour remplir le paramètre param_name .... aucun paramètre requis ici.
- Répétez les étapes 3 à 5 mais à l'étape 5, mettez à jour le paramètre de propriété dans la section Valeurs disponibles pour qu'il soit à partir de la requête et sélectionnez l'ensemble de données dsPopParam. Les champs Value et Label seront les champs renvoyés par la requête de dsPopParam.
- sélectionnez l'onglet Affichage à nouveau et notez cette fois-ci la liste déroulante de liste contenant la liste des paramètres ....
Note importante: dans le cas où le rapport n'a pas rendu ou exception a été levée, juste basculez à nouveau vers l'onglet données, sélectionnez le dataset du rapport et exécutez la requête, vous serez invité à entrer une valeur pour param_name ... entrez-le et exécutez-le ... puis passez à l'onglet preview et
- 1. Mise à jour des paramètres de ressource Glassfish
- 2. Comment transmettre des paramètres au rapport SSRS par programme
- 3. Est-il possible de définir la mise en page d'un rapport SSRS à l'aide de paramètres de rapport?
- 4. Paramètres de requête SSRS 2008
- 5. Reporting Services 2005 - paramètres dépendent des paramètres en cascade
- 6. Mise à jour des paramètres Ajax.RouteLink avec jquery
- 7. Imprimer la liste des paramètres de la fonction en Python
- 8. Affichage des paramètres de rapport dans les zones de texte
- 9. Python curses.ascii en fonction des paramètres régionaux?
- 10. SSRS ExecutionLog pas de mise à jour
- 11. SSRS 2008 NULL Paramètres
- 12. Apache mod_deflate en fonction des paramètres URL
- 13. Rapport SSRS Mise en page personnalisée des invites
- 14. question de style Python, fonction des paramètres
- 15. ObjectDataSource Méthode de mise à jour avec paramètres dynamiques
- 16. Passer des paramètres à des rapports de cristal en C#
- 17. iPhone mise à jour version de l'application (dans les paramètres)
- 18. SSRS 2005 Sécurité basée sur les paramètres
- 19. L'ordre de passage des paramètres affecte-t-il la mise en cache des plans de requête?
- 20. Mise à jour et modification des paramètres des fichiers plist avec les nouvelles versions d'une application
- 21. Stockage, mise à jour, récupération des paramètres pour une application PHP sans base de données
- 22. Rechargement automatique du rapport sur la sélection des paramètres dans Reporting Services
- 23. élément global par rapport à la transmission de paramètres
- 24. Msbuild copier à plusieurs emplacements en fonction de la liste des paramètres de destination?
- 25. Dois-je utiliser des paramètres avec une mise à jour ObjectDataSource?
- 26. Deux jeux de données avec les mêmes paramètres dans SSRS
- 27. php - sélection automatique du menu déroulant en fonction des paramètres dans le lien du navigateur
- 28. ASP.NET: Traitement des types d'objet en tant que paramètres lors de la mise à jour dans ObjectDataSource
- 29. Mise en cache des paramètres d'image ASP.NET MVC
- 30. alignement des listes de paramètres de fonction avec vim
Jeremy, pouvez-vous pointer à un exemple de cela, ou en inclure un dans votre réponse? Merci. –
Ok, voici ce que j'ai fait: J'ai deux paramètres, @SalesRep et @Distributor (les deux sont des chaînes). Maintenant, l'ensemble de données pour le représentant des ventes est juste une requête.Mais l'ensemble de données pour le paramètre de distribution est une requête comme suit: SELECT [numéro de client] AS ID, [Nom du client] AS Nom des distributeurs Où [Représentant des ventes] = @ SalesRep ORDER BY Nom Notez la dépendance sur le paramètre @SalesRep. Dans les paramètres du rapport, assurez-vous que @SalesRep est commandé au-dessus de @Distributor. –
Ouais, vous l'avez. Le paramètre le plus haut doit être l'ensemble de données sans dépendances. Il produit l'ensemble de données pour remplir le deuxième paramètre, et ainsi de suite. –