I have a report (in SQL Server Reporting Services 2008) that has multiple parameters, but works very well. However, one of my users (my boss, of course) wants to be able to e-mail a link to the report using the parameters they have specified. They do not want to send the report itself, but just a link to it. However, as you set parameter values and click "View Report", the URL shown in the browser does not contain the parameter values in the querystring (just the default report path), and therefore is not really usable.
I know that this functionality is possible, because if I add a subscription to the report, and check the "include link" checkbox, I get an e-mail with a link like this:
http://servername/ReportServer/Pages/ReportViewer.aspx?%2fRoot+Action+Analysis&ShowChart=2&sPN=&iDept=All&rs%3aParameterLanguage=en-US
Is there a server setting that could be changed to show the FULL URL (with parameters) as users generate new reports?
Thank in advance!
I don't know how to change the settings so that the full URL is shown.
As a workaround you could add a textbox to the bottom of your report, and build the URL yourself in an expression by concatenating Globals!ReportServerURL, Globals!ReportFolder, Globals!ReportName, Globals!Language and your various Parameters.
Related
I'm trying to run an SSRS report on the server which takes a parameter as input. When I enter input in the textbox it displays the result. Also works fine in the visual studio BIDS.
But, I want to pass parameter in the URL and see the report result which is not working.
I have seen solutions to other similar SO posts SSRS passing Report Parameters
which mentioned checking the dataset parameters properties.
My parameter name is #TestId and value is set to =Parameters!TestId.Value
So, it is correct as suggested in the solution.
Now I try o access my report using URL patterns as below
Just giving parameter and value
http://testssrs14/Reports/Pages/Report.aspx?ItemPath=%2fReports%2fTest%2fTestReport%2fTest+Report&TestId=1234
using command = render
http://testssrs/Reports/Pages/Report.aspx?ItemPath=%2fReports%2fTest%2fTestReport%2fTest+Report&rs:Command=Render&TestId=1234
when I hit enter it doesn't throw any error in both cases but just shows a blank page instead of the result of the report. Is there anything I'm missing?
Please use this URL instead and try
http://testssrs14/ReportServer/
And navigate to the report that you're looking for.
When you get to the report page, then pass the parameter value.
&<Parameter Name> = <value>
In your case
&TestId=1234
Add this at the end of the URL.
Let me know if you need any further clarification.
Based on your comments, Here's some detail.. though I guess it must be figured out as of now..
Here goes the report server:
and below goes the Report Manager..
and in VS Data Tools or BIDS, the same is set as in Projects->Properties below
So, you got to try your URL parameters in ReportServer, not in Report Manager.
What you had been accessing so far is Report Manager..
Hope it makes some sense, now : ) ,
Thus, your link should be something like http://testssrs14/Reportserver/..
This link is also a good source!
So, I'm trying to make a mobile report with parameters in Mobile Report Publisher.
My dataset is so big and i want to load in my repport only specific items by default.
I define my parameters in my dataset. I find my parameters in the report editor. But when i bind one parameter with one of my selected item, i got a problem. My selection list does not care about my parameter. When i enter in preview mode, i get a blank page.
For information, i foloow the MS tutorial : https://learn.microsoft.com/en-us/sql/reporting-services/mobile-reports/add-parameters-to-a-mobile-report-reporting-services
Even if i write default values in my report's parameters, it do not care about them.
IMG : My parameters binded with my selection lists and my parameters in my DS and my blank page preview
Thanks for helping !
We've had to set our dataset parameters to allow nulls and then the sprocs deal with those else it caused problems in the mobile designer
We are currently using a generic report which will be used differently by multiple usergroups. We have made this possible by creating linked reports with different settings of hidden parameters (such as 'show column x', 'enable feature y').
These settings (parameters) are needed on other reports as well, so we pass them along using the Go to ... Action.
To create the look and feel we are after, we are passing some additional parameters as well, HTML Viewer commands and Report Server commands such as &rc:Parameters=False (reference).
Unfortunately, this leaves us with only the option Go to URL, since Microsoft hasn't implemented these commands for Go to Report. This means we have to pass our settings (the hidden parameters) along in the URL. This results in a security issue, example given: &PARAMETER_ENABLE_FEATURE_Y=False.
The user might notice this parameter in the URL and is so given the possibility to enable this function by editing the URL to &PARAMETER_ENABLE_FEATURE_Y=True.
So my question is: how to use an Action in Reporting Services while preventing users from editing our sensitive parameters and while being able to use HTML Viewer commands and Report Server commands?
You will never get complete security in this sense if you absolutely have to use URL based parameters.
When navigating via the URL, the only way you can hide parameter values without hard coding them is to make them data driven. In your scenario however this will not be 100% secure as you will still need to pass the value that populates your data driven parameters.
This level of obfuscation is probably enough and can be achieved by collating a list of either every parameter combination or just the ones your need and assigning it an ID that you can call in a dataset. This can obviously still be changed by your users should they get curious and can be a faff to maintain.
I would say your only other option is to hide the URL bar completely by providing a 'landing page' for your reporting and displaying everything in an iframe. This frame can be targeted with a javascript link in your Go To URL:
="javascript:void(window.open('URL to open','iFrame Name'))"
If you are able to though, I would advise you group your users into Active Directory security groups and then maintain a collection of permissions and customisations per group. You can then check which groups a user is a part of using custom code similar to the answers here and return the required parameter values accordingly.
Doing things this way will also enable you to maintain which groups can see what from a central location, assuming you have rolled out the same parameter structure across all reports.
I want to display a Microstrategy report on a web page The report needs a single parameter
I have a report that has a (local) filter which I'd like to able to parameterize. Not the whole filter string but just the numeric value that the report filters on.
I know that I can use a prompt to put a value into a report, but I need to do this from an HTML document which, I understand, can't be done with a prompt.
Is there another way to do pass a parameter from an HTML document into the filter of report in the HTML document?
Kind Regards,
Barrie
If you're using a URL to the report, you can pass a prompt answer in as a parameter, specifically valuePromptAnswers.
TN15734 on the MicroStrategy Knowledgebase gives a full example, if that isn't clear enough.
So I have a report in Reporting Services 2005. In it is one parameter (ConnectionString) which determines which data source the report will use. It also has several other parameters which are dropdown lists derived from the data source chosen in the ConnectionString parameter.
In Report Manager, this works great. All of the dropdowns are greyed out at the beginning. When you choose your data source, the page requeries/repaints and all of the available parameter values for the other parameters are filled in based on the queries for those fields.
However ...
In the ReportViewer web control, when the report is first loaded up, instead of dropdown boxes all of the other parameter fields are just empty textboxes. Choosing a different data source for the ConnectionString parameter doesn't requery/repaint the other parameters.
I've been flipping through the ReportViewer programming reference to see if there's some way to replicate the Report Manager's way of reloading the webpage with the report viewer upon certain parameter changes, but I can't find anything there that isn't over my poor little .NET head.
Any ideas?
Not sure if this is any help but I do have a suggestion. I would try pulling the logic for dropdown boxes out of the report and put them in an ASP.net page. Then pass the parameters to the report and control the rendering/refreshing.
HTH
UPDATE: So it turns out you must provide a default value for any parameters which in turn affect other parameters in your report in order to get the dropdown box to load properly on initialization. Also note this is recursive - so if you have a parameter which affects another parameter which affects another parameter, both the first and second parameter must have default values.