与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

********************************************更多参数说明************************************************

SQL Server Reporting Services(SSRS)报表发布后经常需要定制报表的URL参数以限制访问的样式和内容。本文主要针对SSRS报表URL参数以及相关的应用进行阐述并举例说明。
报表URL参数的结构:
http://ServerName:7999/reportserver?/AdventureWorks/Product&rs:Command=Render
参数说明:
ServerName:7999,ServerName表示服务器名称,7999端口
ReportFolder:表示发布后的报表文件夹; ReportName表示报表名称; &后为报表参数。Parameters是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传递参数应用的更多相关文章

  1. 【HOW】如何通过URL给Reporting Services报表传递参数

    [本地模式Reporting Services] 参见官方文档:http://msdn.microsoft.com/en-us/library/ms154042.aspx 示例:http://serv ...

  2. 【Django】url传递参数

    1.  url传递参数的特殊字符 在压缩后,可能出现  +  -  = 空格  这类特殊字符,需要在传递前进行url编码  urllib.enquote(string) 获取参数后 urllib.un ...

  3. 8)django-示例(url传递参数)

    url传递参数有两种,一个是通过普通分组方式,一个是通过带命名分组方式 1.传递方式 1)普通分组方式,传递参数顺序是严格的.如下例子 url(r'^detail-(\d+)-(\d+).html', ...

  4. html5页面与android页面之间通过url传递参数

    html5页面与android页面之间可以通过url传递参数,android将参数放在htm5的url  ?后面,js获取url  ?号后面的参数. 方法一: <scrīpt> /* 用途 ...

  5. 用URL传递参数

    用URL传递参数,在园子里找到一篇文章解决了自己的问题,地址如下:http://www.cnblogs.com/lolicon/archive/2009/01/19/1378408.html

  6. 关于Url传递参数

    Url传递参数时,后台取值会直接取等号后面的内容,包括引号在内. 比如:   http://localhost:8080/user?name='admin' 这是错误的做法,后台获取到的参数是包括引号 ...

  7. vue-router 利用url传递参数

    vue-router 利用url传递参数 :冒号的形式传递参数  在路由配置文件里以:冒号的形式传递参数,这就是对参数的绑定. 1. 在配置文件里以冒号的形式设置参数.我们在/src/router/i ...

  8. Spring MVC(六)--通过URL传递参数

    URL传递参数时,格式是类似这样的,/param/urlParam/4/test,其中4和test都是参数,这就是所谓的Restful风格,Spring MVC中通过注解@RequestMapping ...

  9. Vue-router 第5节 vue-router利用url传递参数

    Vue-router 第5节 vue-router利用url传递参数 目录 Vue-router 第5节 vue-router利用url传递参数 第5节 vue-router利用url传递参数 冒号的 ...

随机推荐

  1. Nginx 72万连接性能测试(一)

    转自:http://my.oschina.net/chenzhuo/blog/150200?p=2#comments 根据系统内存64G估算单台tengine做反向代理最高支持72万连接.为了验证达到 ...

  2. es5.0 安装head插件

    es5.0的安装和之前的版本有些区别,我的电脑用plugin install 没成功, 查了一下资料,说是可以用grunt进行安装,启动; 1,先安装grunt: grunt是一个很方便的构建工具,可 ...

  3. 【docker】 centos7 下 使用docker 安装 LNMP

    一.安装 mysql 1 获取 mysql 镜像 docker pull mysql:5.7 2 创建mysql的镜像,并运行 docker run -d -p : -e MYSQL_ROOT_PAS ...

  4. VIM 如何使用系统的剪切板

    想要将系统剪贴板里的内容复制到 vi 编辑的文档中怎么办? 例如,在网页上复制了一段文字,想贴到本地的某个文件中. 使用 vi 打开本地文件,在 输入 模式下,按 Shift + Insert 详细可 ...

  5. scanf printf sprintf fprintf

    都是C语言中的函数,但C++保留了这些函数,在头文件iostream中声明了. 1 scanf(格式控制,输出列表) printf (格式控制,输出列表) 举例: #include <iostr ...

  6. Android JNI与多线程

    Java通过JNI调用本地C++代码是在同一个线程中的同步调用. JNI中如果新建的线程调用java的代码,那么java代码是运行在JNI线程中的:但是,如果调用UI相关的代码时需要与java主线程通 ...

  7. [PHP] Compile an extension on Windows

    https://wiki.php.net/internals/windows/stepbystepbuildhttp://blog.benoitblanchon.fr/build-php-extens ...

  8. goldengate 过滤对某张表的复制操作

    在复制进程中配置下面的参数可以实现对一个用户下的某些表进行过滤,在复制的时候 不做任何操作. MAPEXCLUDE: Valid for Replicat Use the MAPEXCLUDE par ...

  9. [原]Linux下清空文件内容的三种方法

    ========问题======== 有些文件需要清空内容而不改变属性 =======解决方案====== 1.直接删除,创建同名文件.(这种方法的弊端是有可能这个文件带着权限或者是属性,那么你新建这 ...

  10. 【转】详解抓取网站,模拟登陆,抓取动态网页的原理和实现(Python,C#等)

    转自:http://www.crifan.com/files/doc/docbook/web_scrape_emulate_login/release/html/web_scrape_emulate_ ...