Problem Reporting Services has many great built in features, but accessing them externally can be tricky. Suppose you wanted to pass a variable directly within a URL? Wouldn't it be great if you could provide a URL from a website or email that renders a report directly in Excel? Do you need to display a report (perhaps a chart) while hiding the reporting toolbar? Let's take a look at these items as well as a few others and how you can use parameters in your URL to change the report behavior.
Solution Follow these steps to discover various solutions to these and other issues.
For this demo we will be using the same sample database I used in my tip on drill down techniques, (Follow the instructions in the "Sample Data" box.)
Create a new report using the VISIBILITY_EXAMPLE_TABLE as a datasource. Use the following SQL statement as the report's first dataset:
SELECT ProductCode, ProductName, ProductColor, QuantityAvailable, SupplierName, SupplierRegion FROM VISIBILITY_EXAMPLE_TABLE
From the Layout tab, add the six fields to a new data table.
Add a second dataset to the report and call it AvailableColors.
Enter this for the SQL statement of the new dataset:
SELECT DISTINCT ProductColor FROM VISIBILITY_EXAMPLE_TABLE ORDER BY ProductColor
Return to the first dataset and add the following line:
The entered dataset should look like:
SELECT ProductCode, ProductName, ProductColor, QuantityAvailable, SupplierName, SupplierRegion FROM VISIBILITY_EXAMPLE_TABLE WHERE ProductColor=@ProdColor
From the Report menu, select Report Parameters. In Available values, select From query, and change the Dataset to AvailableColors, and select ProductColor in both the Value and Label fields. Leave the Default to Null. The entire Report Parameter screen should like this below:
Now save and publish the report to your Reporting Services web server. Access your report from the web server using the Report Server (not the Report Manager).
Your browser screen should look like this before clicking the report. (The name of my server is Zorro. Henceforth, replace "Zorro" with the machine name of your SQL server.) The name of my report is called "zPass_Params_with_HTML". You can name your report whatever you like.
When you first run the report, you should be prompted for a parameter:
Just to try it out, select a parameter and run the report.
As long as everything works we're ready to have some fun.... Passing the parameter entirely through HTML
Start over with your browser at the ProdColor prompt. Instead of choosing the color from the dropdown, add the following at the end of the URL:
It should look like this:
DO NOT click the View Report button, but instead, click the go button in the browser. You should get the same results as if you used the dropdown within the report. This should give you the idea that you can programmatically pass parameters from another program or web site.
Controlling Report Options
So you want to hide the parameter bar by default, try adding this to the end of the URL:
How about hiding the toolbar? Add this to the end of the URL:
Controlling Report Format (Opening Excel or Acrobat by default) If you haven't already done it, let's roll back to the original URL.
http://zorro/ReportServer/?%2fEdgewoodLab%2fzPass_Params_with_HTML&rs:Command=Render (Remember to replace "Zorro" with the name of your server and use whatever you named your report.)
Now add the following on the end of the URL: &rs:Format=Excel
Try this at the end:
As you can see, there are many different options for presenting your report directly from a URL. This introduction should give you a foundation to read further on this topic. There is extensive documentation in Books Online.
Try combining the &rc:Toolbar=false tip with a series of charts that you can put together in a dashboard on a web site. This can be done from a series of iframes on a standard website or from Sharepoint in Page Viewer web parts.
But it dowesnt seem to get all the values across. i.e - if I enable the Parameters (=TRUE) I can see the values have not been carried through. This is USUALLY when I am passing to a multiselect parameters (i.e. dropdown) type (in the report.
Thanks for your helps.But i wanna ask something if u still alive in this subject :)...i did my report successfully.But when i open my report in android or iphone aplication wiith url mode i didnt see my report on full screen.Please help me for this..how ican i resolve this...
Thursday, October 25, 2012 - 8:13:09 AM - abhijeet
I have the same thing as well, pretty simple report with 4 parameters. I used the link above and filled in the value for this parameters and it works fine in dev. However, when the report is moved to prod, the last parameter value is not being passed (blank). The only difference between dev and prod is that in dev, the access is windows authentication already and in prod, user must enter credentials.
any help please?
Wednesday, February 13, 2013 - 12:31:30 PM - Lawrence
Hi. I setup SSRS 2005 and it's running beautifully. However, I want to change the authentication type to custom since my environment is somewhat unusual. My app uses Windows Authentication via a user account on my web server coupled with Anonymous Access. This can't change because users are being authenticated in different ways depending how they arrive at the site. I'm considering creating a web page from which to redirect authenticated users to a link to my reports and programmatically passing NetworkCredentials to the report server. Would you possibly have an example of something similar? All suggestions are welcome . Thanks in advance.
Hi!! I know this a very old post, but I need help!! I'm traying to use RS in an ASP aplication. I undarstand all you say here but, i don't know how to acces de Server (the report server) using credentials. I mean this server is not in my localhost and obviously, I can't let the user know this credentials.
I know this is the double hop problem but i don't know how to solve it in ASP (I am a .NET programmer).