J'essaie de transmettre un paramètre via l'URL à SSRS et il semble que cela ne fonctionne pas!
J'essaie de passer un userId (chaîne) via l'URL qui sera passé à la base de données et utilisé par la requête.
uRL de base: http: //blah/Reports/Pages/Report.aspx? ItemPath = MyReport
essayé ceci mais cela ne fonctionne pas: http: //blah/Reports/Pages/Report.aspx? ItemPath = MyReport & UserId = fred
Des idées
En plus de ce que Shiraz a dit, essayez quelque chose comme ceci:
http://<server>/ReportServer/Pages/ReportViewer.aspx?%2f<path>%2f<ReportName>&rs:Command=Render&UserID='fred'
Notez que le chemin ne fonctionnera que si vous êtes dans un seul dossier. Lorsque je dois faire cela, je navigue simplement dans le rapport en utilisant le chemin du serveur de rapports ("reports" est le gestionnaire de rapports) et copie l'adresse URL, puis ajoute &<ParameterName>=<value>
à la fin.
J'ai eu la même question et plus, et bien que ce fil soit vieux, il reste quand même bon, donc en résumé pour SSRS 2008R2 j'ai trouvé ...
Situations
Actes
Le cas échéant, veillez à remplacer Reports/Pages/Report.aspx? ItemPath = par ReportServer? En d'autres termes: Au lieu de ceci:
http://server/Reports/Pages/Report.aspx?ItemPath=/ReportFolder/ReportSubfolder/ReportName
Utilisez cette syntaxe:
http://server/ReportServer?/ReportFolder/ReportSubfolder/ReportName
Ajoutez des paramètres au rapport et définissez-les comme masqués (ou visibles si l'action de l'utilisateur est autorisée, mais gardez à l'esprit que, même si le paramètre de rapport change, l'URL ne pas change en fonction d'une entrée mise à jour).
Attachez des paramètres à l'URL avec & ParameterName = Value
Les paramètres peuvent être référencés ou affichés dans un rapport à l'aide de @ParameterName, qu'ils soient définis dans le rapport ou dans l'URL.
Pour masquer la barre d’outils où sont affichés les paramètres, ajoutez & rc: Toolbar = false à l’URL ( référence )
En réunissant tous ces éléments, vous pouvez exécuter une URL avec des valeurs incorporées ou l'appeler en tant qu'action d'un rapport et lue par un autre rapport:
http://server.domain.com/ReportServer?/ReportFolder1/ReportSubfolder1/ReportName&UserID=ABC123&rc:Toolbar=false
Dans la requête sur les propriétés du jeu de données de rapport: SELECT les éléments de la vue WHERE User = @UserID
Dans le rapport, définissez la valeur de l'expression sur [UserID] (ou = Fields! UserID.Value)
N'oubliez pas que si un rapport comporte plusieurs paramètres, vous devrez peut-être inclure tous les paramètres dans l'URL, même s'ils sont vides, en fonction de la manière dont votre requête de jeu de données est écrite.
Pour transmettre un paramètre à l'aide de Action = Aller à l'URL, définissez l'expression sur:
="http://server.domain.com/ReportServer?/ReportFolder1/ReportSubfolder1/ReportName&UserID="
&Fields!UserID.Value
&"&rc:Toolbar=false"
&"&rs:ClearSession=True"
Assurez-vous de laisser un espace après une expression si elle est suivie de & (un saut de ligne ne suffit pas). Aucun espace n'est requis avant une expression. Cette méthode peut transmettre un paramètre mais ne le cache pas car elle est visible dans l'URL.
Si vous n'incluez pas & rs: ClearSession = True, le rapport ne sera pas actualisé tant que le cache de session du navigateur n'aura pas été vidé.
Pour transmettre un paramètre à l'aide de Action = Aller au rapport:
Pour référence, /=% 2f
Je viens de résoudre ce problème moi-même. J'ai trouvé la solution sur MSDN: http://msdn.Microsoft.com/en-us/library/ms155391.aspx .
Le format est fondamentalement
http://<server>/reportserver?/<path>/<report>&rs:Command=Render&<parameter>=<value>
Essayez de remplacer "Reports" par "ReportServer" dans votre URL
Essayez de transmettre plusieurs valeurs via l’URL:
/ReportServer?%2fService+Specific+Reports%2fFilings%2fDrillDown%2f&StartDate=01/01/2010&EndDate=01/05/2010&statuses=1&statuses=2&rs%3AFormat=PDF
Cela devrait marcher.
J'ai résolu un problème similaire en transmettant la valeur du paramètre disponible dans l'URL au lieu du libellé du paramètre.
Par exemple, j'ai un rapport avec un paramètre nommé nomVue et les valeurs disponibles prédéfinies pour le paramètre sont les suivantes: (étiquettes/valeurs) orders/sub_orders, orderDetail/sub_orderDetail, product/sub_product.
Pour appeler ce rapport avec une URL à afficher automatiquement pour paramètre = product, vous devez spécifier la valeur et non l'étiquette.
Ce serait faux: http: // serveur/serveur de rapports?/Données + Dictionnaire/Informations détaillées & viewName = produit & rs: Command = Render
C’est correct: http: // serveur/serveur de rapports?/Données + Dictionnaire/Informations détaillées & viewName = sous_product & rs: Command = Render
Selon link , vous devrez peut-être aussi préfixer votre paramètre avec & rp si vous n'utilisez pas la syntaxe de proxy
Essayez de remplacer "Reports" par "ReportServer" dans votre URL . Pour cela, accédez simplement à ce http://Host/ReportServer/
et à partir de là, vous pourrez accéder aux pages du rapport. Ajoutez-y vos paratères comme ceci &<parameter>=<value>
Pour des informations plus détaillées: