您可以將報表參數包含在報表 URL 中,以將報表參數傳遞至報表。 這些 URL 參數不會加上前置詞,因為它們會直接傳遞給報表處理引擎。
這很重要
URL 中必須包含 _vti_bin Proxy 語法,以便透過 SharePoint 和 Reporting Services HTTP Proxy 進行要求的路由。 Proxy 會將某些內容新增至 HTTP 要求,這是確保 SharePoint 模式報表伺服器正確執行報表所需的內容。
如果您沒有包含 Proxy 語法,則必須在 參數前面加上 rp:。
所有查詢參數都可以有相對應的報表參數。 您可以傳遞相對應的報表參數,即可傳遞查詢參數。 如需詳細資訊,請參閱在關係型查詢設計工具中建置查詢(報表產生器及 SSRS)。
這很重要
報表參數會區分大小寫。
備註
報表參數會區分大小寫,而且使用下列特殊字元:
- 根據 URL 編碼標準,在 URL 字串中的任何空格字元都會使用字元 "%20" 來取代。
- URL 參數部分中的空格字元會取代成加號字元 (+)。
- 任何字串部分中的分號都會取代成 "%3A" 字元。
- 瀏覽器應該會自動執行正確的 URL 編碼。 您不必手動編碼任何字元。
若要設定 URL 內的報表參數,請使用以下語法:
parameter=value
例如,若要指定報表中定義的兩個參數 「ReportMonth」 和 「ReportYear」,請使用下列原生模式報表伺服器的 URL:
http://myrshost/ReportServer?/AdventureWorks 2008R2/Employee_Sales_Summary_2008R2&ReportMonth=3&ReportYear=2008
例如,若要指定報表中定義的相同兩個參數,請使用 SharePoint 整合模式報表伺服器的下列 URL。 請注意/_vti_bin。
http://myspsite/subsite/_vti_bin/reportserver?http://myspsite/subsite/AdventureWorks 2008R2/Employee_Sales_Summary_2008R2.rdl&ReportMonth=3&ReportYear=2008
若要為參數傳遞 Null 值,請使用下列語法:
parameter
:isnull=true
例如,
SalesOrderNumber:isnull=true
若要傳遞 Boolean 值,請對 false 使用 0,對 true 使用 1。 若要傳遞 Float 值,請包含伺服器地區設定的小數分隔符
備註
如果您的報表包含具有預設值且 Prompt 屬性值為 false 的報表參數(也就是報表管理員中未選取提示使用者屬性),則您無法在 URL 內傳遞該報表參數的值。 這可讓管理員選擇防止使用者加入或修改某些報表參數值。
其他範例
下列 URL 範例包含空格和多個參數
“SQL Server 使用者教育小組” 的資料夾名稱包含空格,因此 “+” 會取代每個空間。
「小組專案報表」的報表名稱包含空格,因此 “+” 會取代每個空間。
將「teamgrouping2」的參數值設為「xgroup」,將「teamgrouping1」的參數值設為「ygroup」。
https://myserver/Reportserver?/SQL+Server+User+Education+Team/_ContentTeams/folder123/team+project+report&teamgrouping2=xgroup&teamgrouping1=ygroup
下列 URL 範例包含多重值參數 「OrderID」。 Multi-Value 參數的格式是針對每個值重複參數名稱。
https://myserver/Reportserver?/SQL+Server+User+Education+Team/_ContentTeams/folder123/team+project+report&teamgrouping2=xgroup&teamgrouping1=ygroup&OrderID=747&OrderID=787&OrderID=12
下列 URL 範例會傳遞單一參數 SellStartDate,其值為「7/1/2005」,給原生模式報表伺服器。
http://myserver/ReportServer/Pages/ReportViewer.aspx?%2fProduct_and_Sales_Report_AdventureWorks&SellStartDate=7/1/2005