微软BI专题-Reporting Services报表交互排序探微

  在Microsoft SQL Server 2005 Reporting Services平台下,报表可以使用交互排序功能对一定范围的数据进行排序,本文基于该功能针对实际开发过程中遇到的问题进行一些经验性总结。

      无论是在SQL Server 2005的联机帮助中,还是在Reporting Services相关的书籍中,对报表交互排序的阐述都过于简洁或者语焉不详,如果完全按照其上的阐述进行交互排序操作有时会导致失败。细究其原因,在交 互排序中需要注意的有如下几个方面:

  • 明确排序区域 在报表中有几个概念:数据集、表格、组,这些概念在联机帮助中已经有了较好的阐述,故在此不再赘述。上述几个概念实质上分别代表几个区域,排序的时候需要指定打算排序的区域。
  • 明确排序表达式 通常在排序表达式的下拉列表中给出的表达式并不是实际需要的排序表达式,这个时候需要手工添加实际的排序表达式。
  • 明确详细信息组与一般性分组的区别 在报表交互排序的设置过程中,详细信息组与一般性分组是有区别的,在作用域内排序表达式结果的选项中分别予以区分。
  • 明确什么时候应分组和不应分组 这一点在对详细信息组进行分组时体现较为明显,若只针对详细信息进行分组,则详细信息组不应添加分组字段,否则应将数据放在普通分组里。

示例(具体报表见AdventureWorks Sample Reports里的Territory Sales Drilldown.rdl):

如图1,要在Total Sales文本框上对组“1”里的Sum (Fields!TotalDue.Value)值进行交互排序和对详细信息作用域里的Fields!TotalDue.Value进行排序:图1中“1”组分组方式如图2。

现欲对“1”组对应的“Total Sales”进行交互排序:排序设置见图3。

排序结果对比见图4、图5。

若对详细信息区域进行排序,则在图3中,该详细信息区域不应分组,排序区域选择当前表或者数据集,“计算此作用域内排序表达式的结果”选“详细信息作用域”,方法与上面介绍的类似,在此不再赘述。

      另外,交互排序有一个使用起来不太友好的地方,即如果对详细信息区域进行交互排序(实际上是默认折叠的所有分组),点击交互排序的按钮后产生了排序效果, 但排序的时候刷新了报表,即使点击前已经展开到详细信息区域,也会因为刷新而返回到报表默认的折叠状态,此时如果要看排序的结果,需要再次展开报表到之前 所看到的层次。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值