Passage du paramètre via url vers SQL Server Reporting Service

J’essaie de passer un paramètre via l’URL à SSRS et cela semble ne pas fonctionner!

J’essaie de passer un userId (chaîne) via l’URL qui sera transmise à la firebase database et utilisée 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:///ReportServer/Pages/ReportViewer.aspx?%2f%2f&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 jusqu’au rapport en utilisant le chemin du serveur de rapports (“reports” est le gestionnaire de rapports) et copie l’URL puis ajoute &= à la fin.

J’ai eu la même question et plus, et bien que ce fil soit ancien, il est toujours bon, donc en résumé pour SSRS 2008R2 j’ai trouvé …

Les situations

  1. Vous souhaitez utiliser une valeur provenant d’une URL pour rechercher des données
  2. Vous souhaitez afficher un paramètre à partir d’une URL dans un rapport
  3. Vous souhaitez transmettre un paramètre d’un rapport à un autre rapport

actes

Le cas échéant, assurez-vous de remplacer Reports / Pages / Report.aspx? ItemPath = avec ReportServer? . En d’autres termes: au lieu de cela:

 http://server/Reports/Pages/Report.aspx?ItemPath=/ReportFolder/ReportSubfolder/ReportName 

Utilisez cette syntaxe:

 http://server/ReportServer?/ReportFolder/ReportSubfolder/ReportName 

Ajoutez des parameters 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 si le paramètre de rapport change, l’URL ne change pas en fonction d’une entrée mise à jour).

Joindre des parameters à l’URL avec & ParameterName = Valeur

Les parameters peuvent être référencés ou affichés dans le 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 parameters, ajoutez & rc: Toolbar = false à l’URL ( référence )

En les regroupant, vous pouvez exécuter une URL avec des valeurs incorporées ou appeler cela comme une action à partir 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 de propriétés du dataset du rapport: SELECT stuff FROM view WHERE Utilisateur = @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 parameters, vous devrez peut-être inclure tous les parameters dans l’URL, même s’il est vide, en fonction de la manière dont votre requête de dataset est écrite.

Pour passer un paramètre en utilisant 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 d’avoir un espace après une expression si elle est suivie de & (un saut de ligne n’est pas suffisant). Aucun espace n’est requirejs avant une expression. Cette méthode peut transmettre un paramètre mais ne le cache pas car il est visible dans l’URL.

Si vous n’incluez pas & rs: ClearSession = True, le rapport ne sera pas actualisé tant que le cache de la session du navigateur n’aura pas été effacé.

Pour passer un paramètre en utilisant Action = Aller à signaler:

  • Spécifiez le rapport
  • Ajouter des parameters pour exécuter le rapport
  • Ajoutez le (s) paramètre (s) que vous souhaitez transmettre (les parameters doivent être définis dans le rapport de destination, à ma connaissance, vous ne pouvez pas utiliser des commandes spécifiques à l’URL telles que rc: toolbar utilisant cette méthode); cependant, je suppose qu’il serait possible de lire ou de définir la case à cocher Utilisateur invité, comme indiqué dans les parameters de serveur de rapports, via un code personnalisé dans le 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:///reportserver?//&rs:Command=Render&= 

Essayez de changer “Reports” en “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 fonctionner.

J’ai résolu un problème similaire en transmettant la valeur du paramètre disponible dans l’URL au lieu de l’étiquette du paramètre.

Par exemple, j’ai un rapport avec un paramètre nommé viewName et les valeurs disponibles prédéfinies pour le paramètre sont: (labels / values) orders / sub_orders, orderDetail / sub_orderDetail, product / sub_product.

Pour appeler ce rapport avec une URL à afficher automatiquement pour paramètre = produit, vous devez spécifier la valeur et non l’étiquette.
Ce serait faux: http: // server / reportserver? / Data + Dictionary / DetailedInfo & viewName = product & rs: Commande = Render

Ceci est correct: http: // server / reportserver? / Data + Dictionary / DetailedInfo & viewName = sub_product & rs: Commande = Render

Selon ce lien, vous devrez également préfixer votre paramètre avec & rp si vous n’utilisez pas la syntaxe de proxy

Essayez de changer “Rapports” en “ReportServer” dans votre URL. Pour cela, il suffit d’accéder à ce http://host/ReportServer/ et de là, vous pouvez accéder aux pages de rapport. Il ajoute vos parmatiers comme ceci &=

Pour plus d’informations détaillées:

http://dobrzanski.net/2008/08/11/reporting-services-problem-with-passing-parameters-directly-in-the-url/

https://www.mssqltips.com/sqlservertip/1336/pass-parameters-and-options-with-a-url-in-sql-reporting-services/