Pass a Report Parameter Within a URL
You can pass report parameters to a report by including them in a report URL. These URL parameters are not prefixed because they are passed directly to the report processing engine.
Important
It is important the URL include the _vti_bin
proxy syntax to route the request through SharePoint and the Reporting Services HTTP proxy. The proxy adds some context to the HTTP request, context that is required to ensure proper execution of the report for SharePoint mode report servers.
If you don't include the proxy syntax, then you need to prefix the parameter with rp:.
All query parameters can have corresponding report parameters. You pass a query parameter to a report by passing the corresponding report parameter. For more information, see Build a Query in the Relational Query Designer (Report Builder and SSRS).
Important
Report parameters are case-sensitive.
Note
Report parameters are case-sensitive and utilize the following special characters:
- Any space characters in the URL string are replaced with the characters "%20," according to URL encoding standards.
- A space character in the parameter portion of the URL is replaced with a plus character (+).
- A semicolon in any portion of the string is replaced with the characters "%3A."
- Browsers should automatically perform the proper URL encoding. You do not have to encode any of the characters manually.
To set a report parameter within a URL, use the following syntax:
parameter=value
For example, to specify two parameters, "ReportMonth" and "ReportYear", defined in a report, use the following URL for a native mode report server:
http://myrshost/ReportServer?/AdventureWorks 2008R2/Employee_Sales_Summary_2008R2&ReportMonth=3&ReportYear=2008
For example, to specify the same two parameters defined in a report, use the following URL for a SharePoint integrated mode report server. Note the /_vti_bin
:
http://myspsite/subsite/_vti_bin/reportserver?http://myspsite/subsite/AdventureWorks 2008R2/Employee_Sales_Summary_2008R2.rdl&ReportMonth=3&ReportYear=2008
To pass a null value for a parameter, use the following syntax:
parameter
:isnull=true
For example,
SalesOrderNumber:isnull=true
To pass a Boolean
value, use 0 for false and 1 for true. To pass a Float
value, include the decimal separator of the server locale
Note
If your report contains a report parameter that has a default value and the value of the Prompt
property is false
(that is, the Prompt User property is not selected in Report Manager), then you cannot pass a value for that report parameter within a URL. This provides administrators an option for preventing end users from adding or modifying the values of certain report parameters.
Additional Examples
The following URL example includes spaces and multiple parameters
Folder name of "SQL Server User Education Team" includes spaces and therefore the "+" replaces each space.
Report name of "team project report" includes spaces and therefore the "+" replaces each space.
Passes two parameters of "teamgrouping2" with a value of "xgroup" and "teamgrouping1" with a value of "ygroup".
https://myserver/Reportserver?/SQL+Server+User+Education+Team/_ContentTeams/folder123/team+project+report&teamgrouping2=xgroup&teamgrouping1=ygroup
The following URL example includes a multi-value parameter "OrderID. The format for a Multi-Value parameter is to repeat the parameter name for each value.
https://myserver/Reportserver?/SQL+Server+User+Education+Team/_ContentTeams/folder123/team+project+report&teamgrouping2=xgroup&teamgrouping1=ygroup&OrderID=747&OrderID=787&OrderID=12
The following URL example passes a single parameter of SellStartDate with a value of "7/1/2005", for a native mode report server.
http://myserver/ReportServer/Pages/ReportViewer.aspx?%2fProduct_and_Sales_Report_AdventureWorks&SellStartDate=7/1/2005