SSRS Report by URL with parameter-value AND retain full top menu

reportingssrsssrs-2016

TL;DR: How can I link to an SSRS (2016) report by URL, with a parameter in the query-string, AND retain (show) the FULL MENU bar (the top "SSRS chrome" that has the Favorites, Browse, Settings, breadcrumb navigation, etc.).

Why: I'm phasing out an old 2008R2 instance by putting a clickable link on the old RDLs to new versions of similar reports in the 2016 instance. When the user has selected/filled-in a parameter value, I obviously want to pass that forward to the new report when possible. I've followed the dox and built the URL like so:

http://ssrsInstance/ReportServer/Pages/ReportViewer.aspx?%2fFolder+Name%2fOrder+Line+Details&rs%3aCommand=Render&OrderNo=123456

or, the non-encoded more readable version:

http://ssrsInstance/ReportServer/Pages/ReportViewer.aspx?/Folder Name/Order Line Details&rs:Command=Render&OrderNo=123456

This works insofar as it shows the report with the parameter values filled-in, but it does NOT show the top level SSRS menu section, i.e. the branding (logo/title), the Settings/Download/Help buttons in the upper-right, and the Favorites & Browse links in the upper left. I WANT this stuff to show up, because it conveys to them that they're in the new reporting system and they can navigate around and find other reports.

What else I've tried: just using the 'standard' URL of the report (as in browsing to it from the menu in the new instance), and just appending the parameter to the end, like so:

http://ssrsInstance/reports/report/Folder%20Name/Order%20Line%20Details&OrderNo=123456

or, for the non-encoded version:

http://ssrsInstance/reports/report/Folder Name/Order Line Details&OrderNo=123456

That gives an "invalid item path" error:

The path of the item '/Folder Name/Order Line Details&OrderNo=123456' is not valid. The full path must be less than 260 characters long; other restrictions apply. If the report server is in native mode, the path must start with slash. (rsInvalidItemPath)

And obviously the other (less favorable) option is to simply use that URL without the parameter, but that forces the user to have to re-do work (especially in the case of more complex parameter sets and multi-valued params), which would suck.

Hope there is a way! Thanks all. 🙂

Best Answer

The sages of #sqlcommunity (namely @JeffRush) have informed me that this is not possible. It has to do with the two different interfaces --

"..that is something that only exists when you are accessing Reports interface. URL access hits ReportServer [interface]." (emphasis mine)

Hope that helps future readers.