Reporting Services报表常用的URL参数
2009年12月07日 星期一 3:43 P.M.
报表URL参数的结构:
http://ServerName/reportserver?/ReportFolder/ReportName&Parameters
其中: ServerName表示服务器名称,如果端口不是80还需要加上端口号,如ServerName:8080; ReportFolder表示发布后的报表文件夹; ReportName表示报表名称; &后为报表参数。下面是一个完整的报表URL链接:
http://ServerName:8080/reportserver?%2fAdventureWorks+Sample+Reports%2fProduct+Line+Sales&rs:Command=Render
ReportFolder为: AdventureWorks Sample Reports,中间的空格用“+”连接;
Reportserver后需要使用转义字符,“/”的转义字符是%2f;
ReportName是Product Line Sales;
Parameters是rs:Command=Render
在使用报表URL参数前需要注意的问题:
1、 转义字符:常用的转义字符如下:
2、汉字的转化:URL本身不能直接识别汉字,要想传递汉字,需要将汉字转化为utf-8码。一个通用的方法是通过 HttpUtility.UrlEncode方法将需要转化的汉字转化,这可以通过用代码写一个小工具来实现。另一个更直接的方法是,添加一张报表,报表 名称使用需要转化的汉字,发布报表,然后到reportserver中查看报表,这时报表的链接即包含所需的utf-8码。
3、 报表参数是大小写敏感的,所以必须与原参数的大小写一样,否则会导致参数传递失败。
4、 传递空值参数:格式:ParameterName:isnull=true,如:SalesOrderNumber:isnull=true
举例:
按传递的参数类型,有来自关系型数据库的参数,此类较为简单,按照上文对特殊字符转义并将汉字转换即可。如:
http://ServerName:8080/reportserver?%2fAdventureWorks+Sample+Reports%2fProduct+Line+Sales&rs:Command=Render&StartDate=2003-1-2
其中StartDate为报表参数,其值为”2003-1-2”。
注意:报表参数在报表里面由名称和提示组成,显示出来的名称实际上是提示,比如上面的报表参数名称为“StarDate”而提示为“Start Date”,传递过程中需要使用实际的名称才能保证正确传递。
报表参数来自Cube时,情形稍有变化,如:
& RegionRegion=[Office].[Region].%26[1]
参数名称是“RegionRegion”,而参数值是“[Office].[Region].&[1]”,参数值使用的是mdx表达式,而不是显示的值,这是与关系型数据库不同的地方。而且此处使用了转义字符,“&”转义为“%26”。
常用的URL参数:
1) &rc:Parameters=Collapsed
Collapsed表示参数栏折叠,通常用于参数较多的情况,效果见图1: Parameters还有另外两个值:true和false,其中true表示显示参数栏,是报表的默认值,false表示隐藏参数栏。隐藏后的效果是图1中去掉红色圆圈的部分。
2) &rc:Toolbar=false
用于控制Toolbar显示或者隐藏,默认为显示,值为false时表示Toolbar隐藏。
3) &rc:Zoom=75
设置报表缩放值,缩放值以整数百分比或字符串常量表示。标准字符串值包括 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) &rc:DocMap = false
隐藏或显示文档结构图
http://ServerName/reportserver?/ReportFolder/ReportName&Parameters
其中: ServerName表示服务器名称,如果端口不是80还需要加上端口号,如ServerName:8080; ReportFolder表示发布后的报表文件夹; ReportName表示报表名称; &后为报表参数。下面是一个完整的报表URL链接:
http://ServerName:8080/reportserver?%2fAdventureWorks+Sample+Reports%2fProduct+Line+Sales&rs:Command=Render
ReportFolder为: AdventureWorks Sample Reports,中间的空格用“+”连接;
Reportserver后需要使用转义字符,“/”的转义字符是%2f;
ReportName是Product Line Sales;
Parameters是rs:Command=Render
在使用报表URL参数前需要注意的问题:
1、 转义字符:常用的转义字符如下:
序号 | 字符 | 含义 | 十六进制值 |
1 | + | URL 中+号表示空格 | %2B |
2 | 空格 | URL中的空格可以用+号或者编码 | %20 |
3 | / | 分隔目录和子目录 | %2F |
4 | ? | 分隔实际的 URL 和参数 | %3F |
5 | % | 指定特殊字符 | %25 |
6 | # | 表示书签 | %23 |
7 | & | URL 中指定的参数间的分隔符 | %26 |
8 | = | URL 中指定参数的值 | %3D |
3、 报表参数是大小写敏感的,所以必须与原参数的大小写一样,否则会导致参数传递失败。
4、 传递空值参数:格式:ParameterName:isnull=true,如:SalesOrderNumber:isnull=true
举例:
按传递的参数类型,有来自关系型数据库的参数,此类较为简单,按照上文对特殊字符转义并将汉字转换即可。如:
http://ServerName:8080/reportserver?%2fAdventureWorks+Sample+Reports%2fProduct+Line+Sales&rs:Command=Render&StartDate=2003-1-2
其中StartDate为报表参数,其值为”2003-1-2”。
注意:报表参数在报表里面由名称和提示组成,显示出来的名称实际上是提示,比如上面的报表参数名称为“StarDate”而提示为“Start Date”,传递过程中需要使用实际的名称才能保证正确传递。
报表参数来自Cube时,情形稍有变化,如:
& RegionRegion=[Office].[Region].%26[1]
参数名称是“RegionRegion”,而参数值是“[Office].[Region].&[1]”,参数值使用的是mdx表达式,而不是显示的值,这是与关系型数据库不同的地方。而且此处使用了转义字符,“&”转义为“%26”。
常用的URL参数:
1) &rc:Parameters=Collapsed
Collapsed表示参数栏折叠,通常用于参数较多的情况,效果见图1: Parameters还有另外两个值:true和false,其中true表示显示参数栏,是报表的默认值,false表示隐藏参数栏。隐藏后的效果是图1中去掉红色圆圈的部分。
2) &rc:Toolbar=false
用于控制Toolbar显示或者隐藏,默认为显示,值为false时表示Toolbar隐藏。
3) &rc:Zoom=75
设置报表缩放值,缩放值以整数百分比或字符串常量表示。标准字符串值包括 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) &rc:DocMap = false
隐藏或显示文档结构图
沒有留言:
張貼留言