與sharepoint集成的報表傳遞參數示例:
http://reportserver/reportcenter/_layouts/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=/reportcenter/ismx/cp_rpt_buyApply.rdl&rp:Apply_No=A061621
本機模式報表服務器傳參格式:
http://myrshost/ReportServer?/AdventureWorks 2008R2/Employee_Sales_Summary_2008R2&ReportMonth=3&ReportYear=2008
詳見官網:
https://docs.microsoft.com/zh-cn/sql/reporting-services/pass-a-report-parameter-within-a-url?view=sql-server-2017
注意使用rp:參數 形式傳參,參數名大小寫區分,若直接使用如下方式,大小寫不區分
http://reportserver/reportcenter/_layouts/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=/reportcenter/ismx/cp_rpt_buyApply.rdl&Apply_No=A061621
以下是扯淡忽略
參數傳遞格式:http://servername/reportserver?/rptcenter/HRReport&rs:Format=EXCEL&rs:Command=Render&rp:RequestNo=applyno
報表接收:打開報表數據-->參數-->新增參數名為"RequestNo"的參數-->Done
********************************************更多參數說明************************************************
http://ServerName:7999/reportserver?/AdventureWorks/Product&rs:Command=Render
在使用報表URL參數前需要注意的問題:
1、 轉義字符:常用的轉義字符如下:
序號 |
字符 |
含義 |
十六進制值 |
1 |
+ |
URL 中+號表示空格 |
+ |
2 |
空格 |
URL中的空格可以用+號或者編碼 |
|
3 |
/ |
分隔目錄和子目錄 |
/ |
4 |
? |
分隔實際的 URL 和參數 |
? |
5 |
% |
指定特殊字符 |
% |
6 |
# |
表示書簽 |
# |
7 |
& |
URL 中指定的參數間的分隔符 |
& |
8 |
= |
URL 中指定參數的值 |
= |
2、漢字的轉化:URL本身不能直接識別漢字,要想傳遞漢字,需要將漢字轉化為utf-8碼。一個通用的方法是通過 HttpUtility.UrlEncode方法將需要轉化的漢字轉化,這可以通過用代碼寫一個小工具來實現。另一個更直接的方法是,添加一張報表,報表名稱使用需要轉化的漢字,發布報表,然后到reportserver中查看報表,這時報表的鏈接即包含所需的utf-8碼。
3、 報表參數是大小寫敏感的,所以必須與原參數的大小寫一樣,否則會導致參數傳遞失敗。
4、傳遞空值參數:格式:ParameterName:isnull=true,如:SalesOrderNumber:isnull=true
舉例:按傳遞的參數類型,有來自關系型數據庫的參數,此類較為簡單,按照上文對特殊字符轉義並將漢字轉換即可。如:
http://ServerName:8080/reportserver?/AdventureWorks/Product&rs:Command=Render&rp:StartDate=2003-1-2
其中StartDate為報表參數,其值為”2003-1-2”。
注意:報表參數在報表里面由名稱和提示組成,顯示出來的名稱實際上是提示,比如上面的報表參數名稱為“StarDate”而提示為“Start Date”,傳遞過程中需要使用實際的名稱才能保證正確傳遞。
報表參數來自Cube時,情形稍有變化,如:
& RegionRegion=[Office].[Region].&[1]
參數名稱是“RegionRegion”,而參數值是“[Office].[Region].&[1]”,參數值使用的是mdx表達式,而不是顯示的值,這是與關系型數據庫不同的地方。而且此處使用了轉義字符,“&”轉義為“&”。
常用的URL參數:
1) &rc:Parameters=Collapsed
Collapsed表示參數欄折疊,通常用於參數較多的情況,效果見圖1: Parameters還有另外兩個值:true和false,其中true表示顯示參數欄,是報表的默認值,false表示隱藏參數欄。隱藏后的效果是圖1中去掉紅色圓圈的部分。
2) &rc:Toolbar=false
用於控制Toolbar顯示或者隱藏,默認為顯示,值為false時表示Toolbar隱藏。
3) &rc:Zoom=whole page
設置報表縮放值,縮放值以整數百分比或字符串常量表示。標准字符串值包括 Page Width 和 Whole Page。其中Page Width表示報表按頁寬展示,即報表展示部分占滿一整頁的寬度。Whole Page表示按頁長度展示,即報表展示部分剛好顯示在一頁。
4) &rs:Format = PDF
指定報表呈現的形式,包括:HTML3.2、HTML4.0、MHTML、IMAGE、EXCEL、WORD、CSV、PDF、XML 和 NULL。
5)&rv:HeaderArea=None
隱藏導航頭部
6)rv:RelativeReportUrl
導航的報表url