SSRS 2012 参数化报表 -- 利用拼接字符串来取代查询参数

SSRS 2012 参数化报表 -- 利用拼接字符串来取代查询参数

以上介绍过了如何在SQL Server中使用参数化查询,但是,如果遇到一些不支持参数化查询的数据库又该怎么办呢?此时,最终极的招数就是整个查询语句都通过参数化查询以拼接字符串的方式来产生。

举例来说,除了XML文件之外,SSRS也能够接收外部Web Services返回的数据集以产生报表。在以下的实例中,利用立陶宛国家银行所提供的实时汇率换算Web服务,它提供各种货币与立陶宛币(Litas)的汇率换算。

步骤1

请将数据表拖拉至设计区域,此时启动数据集向导。首先测试数据源,请将数据源类型设为“XML”,同时在连接字符串中输入Web Services服务的网址,并且认证方式选择“使用Windows认证”:

http://webservices.lb.lt/ExchangeRates/ExchangeRates.asmx

步骤2

在数据集查询页面中,在“Query”输入下列查询语句。如果是作为非参数化报表,请直接填入下面的语句;如果是使用参数化报表,由于Web Services查询方法并不支持参数化查询,因此我们是利用表达式的方法通过凭借字符串的方式来组建参数化查询(三个参数,币别、起始日与结束日)。以下查询语法是查询立陶宛币与美金(USD)在2011/1/1至2011/3/31之间的汇率值。直接按下工具栏中的“!”按钮。此时,在数据集窗口就会读取出此Web服务返回的内容。

非参数化报表实例:

<Query><Method Name=‘getExchangeRatesByCurrency‘ Namespace=‘http://webservices.lb.lt/ExchangeRates‘> <Parameters><Parameter Name=‘Currency‘> <DefaultValue>USD</DefaultValue></Parameter><Parameter Name=‘DateLow‘> <DefaultValue>2011.1.1</DefaultValue></Parameter><Parameter Name=‘DateHigh‘><DefaultValue>2011.3.1</DefaultValue></Parameter></Parameters></Method><ElementPath IgnoreNamespaces=‘true‘>*</ElementPath></Query>

参数化报表实例:

="<Query><Method Name=‘getExchangeRatesByCurrency‘ Namespace=‘http://webservices.lb.lt/ExchangeRates‘> <Parameters><Parameter Name=‘Currency‘> <DefaultValue>" & Parameters!Currency.Value & "</DefaultValue></Parameter><Parameter Name=‘DateLow‘> <DefaultValue>" & Parameters!DateLow.Value & "</DefaultValue></Parameter><Parameter Name=‘DateHigh‘><DefaultValue>" & Parameters!DateHigh.Value & "</DefaultValue></Parameter></Parameters></Method><ElementPath IgnoreNamespaces=‘true‘>*</ElementPath></Query>"

步骤3

为了方便使用者输入币别参数,因此,可以利用getListOfCurrencies方法来取得币别列表。并将此币别列表设为参数可用的值。不过,利用此方法返回的币别列表分别包括英文版以及立陶宛语版,要在此数据集设置筛选,将“lang”列设为“en”。

<Query>
<Method Name="getListOfCurrencies"
Namespace="http://webservices.lb.lt/ExchangeRates">
</Method>
<ElementPath IgnoreNamespaces="true">*</ElementPath>
</Query>

步骤4

接下来使用此数据集,即可完成报表设计。在此我还利用图标(Chart)以显示汇率的变化(筛选条件为人民币)。

时间: 2024-09-30 06:39:10

SSRS 2012 参数化报表 -- 利用拼接字符串来取代查询参数的相关文章

SSRS 2012 参数化报表 -- 日期参数

SSRS 2012 参数化报表 -- 日期参数 在SSRS中,日期是比较特殊的一种参数,可以用"日历"格式显示. 日期参数实例 步骤1: 创建新的有销售日期条件的报表,利用BETWEEN加入销售日期的起始日期筛选条件. WHERE TRX_DTE BETWEEN @START_DTE AND @END_DTE 步骤2: 接着,只要在参数属性对话框将参数的数据类型设为"日期/时间"(前提是参数数据类型必须是date.smalldatetime.datetime.tim

SSRS 2012 参数化报表 -- 级联式参数设置

SSRS 2012 参数化报表 -- 级联式参数设置 再清楚的菜单,只要遇到选择项目一多的时候,难免会让人眼花缭乱,而找不到该选的选项. 当参数选项过多时,可以利用其他参数作为"预选"的项目,当前置参数被选定之后,就会同时限制了后设参数的值域,如此一来,即可做到快速选项减量的目的,例如,选择了"产品大类"为"灯具"后,那么"产品子类"就只会筛选出在这个大类下的项目,而这项功能称之为"级联式参数(Cascading P

SSRS 2012 交互式报表 -- 交互式排序

SSRS 2012 交互式报表 -- 交互式排序 在查看数据的过程中,为了能快速地找出特定信息以及确认数据的相对大小,总免不了使用排序的动作.但是,不同分析人员面对不同的使用习惯以及分析目的,报表数据必须随着利用不同的字段进行升序或降序排列.SSRS提供了方便的"交互式排序"功能,设计者只要通过属性窗口中的"交互式排序"标签页进行设置,使用者就可以在报表中随心所欲的指定字段排序规则. 交互式排序示例 步骤1: 首先,制作一张销售报表(以PRODUCTCATEGORY

SSRS 2012 交互式报表 -- 同步交互式排序

SSRS 2012 交互式报表 -- 同步交互式排序 步骤1: 首先,在刚才的"交互式排序"示例报表中再拖拉一个"Chart",设置为长条图,从报表数据窗口中将销售金额.销售数量拖至"Values",将产品大类拖放至"Category Groups"区域. 步骤2: 再回到刚才设置交互式排序的文本框,开启文本框属性,请勾选"Apply this sorting to all groups and data regio

SSRS 2012 交互式报表 -- 单层文档结构图

SSRS 2012 交互式报表 -- 单层文档结构图 当使用者查看一份页数超过数十页甚至于数百.数千页的报表时,可怜的使用者只能利用工具栏上方的"上一页"."下一页"功能,逐页靠自己的眼力寻找所需要的信息内容,这种搜寻模式不仅浪费时间,同时使用者在使用上也容易因为眼花而遗漏重大信息.因此,SSRS提供了"文档结构图"功能,让报表产生文档结构图标签,借此解决使用者面对大型报表数据搜寻的困扰. "文档结构图"的展现方式是在报表的左

SSRS 2012 交互式报表 -- 层次性文档结构图

SSRS 2012 交互式报表 -- 层次性文档结构图 层次性文档结构图示例 当文档结构图的索引项目一变多,会变成跟参数下拉菜单一样,"太多的信息等于没有信息"而让使用者难以选择.此时,可利用层次式的文档结构图,以产生阶梯式的树状索引,能大幅缩短找寻索引项目的时间. 步骤1: 使用刚才的销售明细表,在产品大类的组内加入一个产品种类的子组. 步骤2: 在下方列组面板中右击子组(PRODUCTSUBCATEGORY_NAME)选择"Group Properties-".

SSRS 2012 交互式报表 -- 书签

SSRS 2012 交互式报表 -- 书签 相信对网页熟悉的人对于定位锚(Anchor)的用途也不会感到陌生,设置定位锚之后可以通过简单的点击,就让网页快速地跳到指定的地方.SSRS也可以做到类似的效果,只需通过"书签"的设置,即可在报表页面使用超链接快速移动到指定"书签"的位置,这对报表设计而言,也是让使用者快速寻找信息的重要功能.与文档结构图不同的是,文档结构图是单击文件导览模式的索引以切换至报表某处,至于书签则是要在报表中预设书签(定位锚),然后搭配在&quo

SSRS 2012 交互式报表 -- 深化式报表

SSRS 2012 交互式报表 -- 深化式报表 在报表中"组"是经常使用来显示汇总数据的方式,通过组可以让数据进行结构化的汇总,以方便浏览者解读报表信息.在复杂的商业报表中,经常会具有多重的组结构,例如,时间就可能会有年.季.月.日,为了方便使用者查看,如果组能够让使用者自行展开与闭合,分析者就可以选择想要查看的年份并深化至想要的时间层. 在商业智能中,除了固定式报表之外,大家所熟知的多维度分析(OLAP)最大的特点就是数据会根据维度进行汇总,让数以千万笔数据可以通过预先汇总的多维度

SSRS 2012 交互式报表 -- 父子式报表

SSRS 2012 交互式报表 -- 父子式报表 在多维度分析中,父子式维度是非常重要的维度结构之一.它可以用最精简的数据结构来处理层数过多.层数不对称以及层数不确定的结构.像是组织架构.会计科目或是制造业的物料表(BOM)都属于父子式层次.以下将示范如何利用SSRS设计父子式层次报表. 步骤1: 首先,父子式层次一定需要符合以下原则.在数据表中,除了成员的键值之外,还要有另外一个字段用来表示父层成员的键值. 步骤2: 首先,加入一个数据表,将员工名称与销售金额字段加入此数据表. 步骤3: 建立