SSRS 报表中有一些高级的技巧,平常很少用到,下面我通过这个案例来展现一下如何在实际开发中使用它们,并且如何解决一些实际的需求. 这张报表分别统计了不同的 Product 产品在不同的月份的 Order 订单数量, Due 付款数量和 Ship 装船数量. Start Date 和 End Date 的时间范围作为筛选,很显然第一个 Matrix 是以 Order Date 作为比较条件,第二个是以 Due Date, 第三是以 Ship Date 作为比较条件. 现在需要变成这样的一种需求…
今天在天善问答里看到一个问题,如果我没有理解错的话,它应该是指比如在一个报表中选取一个时间段,然后求出这个时间段的某个 Measure 的 SUM 和.并且同时求出这两个时间点对应的上一年的时间点之间的同一个 Measure 的 SUM 和. 比如当前选取的时间点是 2004年1月8日,结束时间点是 2004年3月1日.那么不仅要求这个时间段的某度量值总和,并且还要求 2003年1月8日到2003年3月1日时间段的某度量值总和. 也就是说,这个时间段是一个动态的,根据输入的两个时间段决定当年和上…
基于数据仓库上的 SSRS 报表展示,一般可以直接通过 SQL 查询,存储过程,视图或者表等多种方式将数据加载并呈现在报表中.但是如果是基于 Cube 多维数据集的数据查询,就不能再使用 SQL 的语法了而应该使用 MDX 查询.关于 MDX 和其它 SSRS 的文章,请参看 BI 系列随笔列表 (SSIS, SSRS, SSAS, MDX, SQL Server) 这是我们要实现的报表效果,使用的数据库示例是 MDX Step by Step 2008 的 SSAS DEMO 数据库. 收起的…
之前我写了一篇在 SSRS 开发中处理这种父子关系的汇总与聚合的文章 (SSRS 系列 - 使用分组 Group 属性实现基于父子递归关系的汇总报表),示例中的查询是基于 SQL Server 关系型数据库的,这一篇是基于 MDX 父子维度的 SSRS 报表. 沿用上一篇中的 (SSAS系列 - 关于父子维度的设计)父子维度 和(SSAS 系列 - 自定义的日期维度设计) 的时间维度,并在此基础上创建 Cube 并部署. 当然在这个例子中可能不会使用到时间维度,之所以添加进来只是因为在 Cube…
来自群里面讨论的一个问题,EXCEL 中有类似于这样的图形,上面是 Chart, Chart X轴上的值正好就是下方 Table 的列头,这个在 SSRS 中应该如何实现?   SSRS 2008.2008RS,2012 中实际上没有这种对应的控件,我们通常想到的方式可能是上方一个单独的 Chart 图,下方一个 Table 然后合并在一起.但是这样会存在一些问题,因为 Chart 轴的值不是固定的,会随着聚合值的增加而扩展.并且对于表中的列头来说也没有办法完全能够和 Chart X 轴上的坐标…
这篇文章源于在上一篇博文中有园友提出订阅 SSRS 报表时的一个问题,  于是就好好总结了一下,把有关 SSRS 报表订阅的要点和容易出现问题的地方写出来,希望对大家有所帮助! 参看上一篇博文 - SSRS 报表中分组聚合的展开和收起效果与处理不规则层次结构的技巧(没有子元素的时候不展开, 删除+符号) 先展示订阅成功的效果之一 进入正文.... 首先,先列出常见问题,大家多多少少碰到过. 第一,在SSRS报表订阅的地方找不到 Email 的选项 - Choose a method of del…
开篇介绍 如何在 SSRS 报表中实现标签导航 Navigation 和向下钻取 Drill Down的效果? 如同下面这个例子一样 - 在页面第一次加载的时候,默认显示是全部地区的销售总和情况,上面一张图是显示各个国家的零售额和网售额,下面一张图是根据时间小时销售额的趋势. 那么 Overall 的部分即图中红色部分内容为全部地区汇总的信息,蓝色圈表示的位置都是可以点击的,通过选择不同的国家可以导航或者钻取到不同的国家具体数据. 比如在导航菜单中选择 United Kingdom 或者点击了柱…
开篇介绍 经常有像类似于这样的排序需求,以及设置分组下的排序序号.比如此图中要求城市 City 在省份下按照 Internet Sales Amount 总销售额进行排序,并标识在各省份下的排名. 实现过程 先把分组做好,然后添加新的一列 Rank. 在 City 分组的 Group Properties 中,它的排序是按照 SUM 聚合 Internet Sales Amount 来排序的. 在 Rank 位于 City 一行的表达式中使用 RunningValue 函数. 下面表达式的作用是…
开篇介绍 这个问题大家经常碰到,特意写一下如何解决这个小问题. 问题 默认情况下当报表超过一定的高度会自动分成多页. 第二页默认是看不到标题的. 解决方法 2012版本下在 Column Groups 下三角箭头处把高级模式给选择出来. 能看到 Static,行 Static 表示行,Column 表示列.选择 Row Group 下的 Static,设置 RepeatOnNewPage = True 即可. 第一页的效果. 第二页的效果. 更多 BI 文章请参看 BI 系列随笔列表 (SSIS…
这篇小文章的来源是 天善问答,比如在报表中要根据点击某一个成员名称然后作为参数传递给自身报表或者下一张报表,这个在普通的 SQL 查询中没有任何问题.但是在 MDX 中查询是有区别的,比如在 MDX 中显示在报表上的结果是 Category 下的一个分类 Bikes,但是当点击了 Bikes之后把 Bikes 作为参数传递下一个 MDX 查询的报表中,很显然我们要的是参数 [Product].[Product Categories].[Category].&[2] 去作为过滤条件.如果实现知道点…