Reporting Service Url传递参数应用
与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
Reporting Service Url传递参数应用的更多相关文章
- 【HOW】如何通过URL给Reporting Services报表传递参数
[本地模式Reporting Services] 参见官方文档:http://msdn.microsoft.com/en-us/library/ms154042.aspx 示例:http://serv ...
- 【Django】url传递参数
1. url传递参数的特殊字符 在压缩后,可能出现 + - = 空格 这类特殊字符,需要在传递前进行url编码 urllib.enquote(string) 获取参数后 urllib.un ...
- 8)django-示例(url传递参数)
url传递参数有两种,一个是通过普通分组方式,一个是通过带命名分组方式 1.传递方式 1)普通分组方式,传递参数顺序是严格的.如下例子 url(r'^detail-(\d+)-(\d+).html', ...
- html5页面与android页面之间通过url传递参数
html5页面与android页面之间可以通过url传递参数,android将参数放在htm5的url ?后面,js获取url ?号后面的参数. 方法一: <scrīpt> /* 用途 ...
- 用URL传递参数
用URL传递参数,在园子里找到一篇文章解决了自己的问题,地址如下:http://www.cnblogs.com/lolicon/archive/2009/01/19/1378408.html
- 关于Url传递参数
Url传递参数时,后台取值会直接取等号后面的内容,包括引号在内. 比如: http://localhost:8080/user?name='admin' 这是错误的做法,后台获取到的参数是包括引号 ...
- vue-router 利用url传递参数
vue-router 利用url传递参数 :冒号的形式传递参数 在路由配置文件里以:冒号的形式传递参数,这就是对参数的绑定. 1. 在配置文件里以冒号的形式设置参数.我们在/src/router/i ...
- Spring MVC(六)--通过URL传递参数
URL传递参数时,格式是类似这样的,/param/urlParam/4/test,其中4和test都是参数,这就是所谓的Restful风格,Spring MVC中通过注解@RequestMapping ...
- Vue-router 第5节 vue-router利用url传递参数
Vue-router 第5节 vue-router利用url传递参数 目录 Vue-router 第5节 vue-router利用url传递参数 第5节 vue-router利用url传递参数 冒号的 ...
随机推荐
- Ansible 远程执行脚本
1. 先在服务端创建一个 shell 脚本 [root@localhost ~]$ cat /tmp/test.sh #!/bin/bash echo "hello world" ...
- 高并发应对:淘宝CDN缓存服务器部署探秘
转自:http://server.chinabyte.com/6/12663506.shtml “好,时间到,开抢!”坐在电脑前早已等待多时的宋兰(化名)一看时间已到2011年11月11日零时,便迫不 ...
- React Native(六)——PureComponent VS Component
先看两段代码: export class ywg extends PureComponent { …… render() { return ( …… ); } } export class ywg e ...
- 使用IDEA实现tomcat的热加载
1.打开tomcat的edit configuration,一定要选择war exploded 2.选择update classes and resources 3.配置基本就是这样,后面选择de ...
- 剑指offer面试题7:用两个栈实现队列
题目1:用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 代码实现: public class Solution07 { Stack<Integer> ...
- 网络编程之HttpClient类(转)
12.2 网络编程之HttpClient类 除了可以使用HttpWebRequest类来实现HTTP网络请求之外,我们还可以使用HttpClient类来实现.对于基本的请求操作,HttpClient类 ...
- Delphi应用程序的调试(五)其他调试工具
Delphi应用程序的调试(五)其他调试工具 Delphi7中提供了一些附加调试工具来帮助用户检查程序错误.从性能上讲,其中一些工具属于高级调试工具.尽管高级调试工具不像其他工具那样常用,但对于经验丰 ...
- jQuery的一些静态方法
// 该方法被绑定在jQuery对象上,只能通过$.noConflict()调用 noConflict: function( deep ) { // 取消$在window上的绑定,方法是将_$绑定到w ...
- sencha touch 自定义事件
需要添加自定义事件可以如下: this.fireEvent('back', this); 此方法第一个参数为你想要监听的事件,之后的参数为你想要传递的参数一般来说第一个参数最好是控件本身. 同理这个方 ...
- PS-CC常用快捷键总结
灵活使用photoshop软件快捷键是学好该软件的基础,ps快捷键对于ps平时操作有很大帮助 熟练掌握ps的快捷键可以为了处理图片节省很多时间.现在笔者将自己平时常用的快捷键总结如下: 移动工具[V] ...