开篇介绍 如何在 SSRS 报表中实现标签导航 Navigation 和向下钻取 Drill Down的效果? 如同下面这个例子一样 - 在页面第一次加载的时候,默认显示是全部地区的销售总和情况,上面一张图是显示各个国家的零售额和网售额,下面一张图是根据时间小时销售额的趋势. 那么 Overall 的部分即图中红色部分内容为全部地区汇总的信息,蓝色圈表示的位置都是可以点击的,通过选择不同的国家可以导航或者钻取到不同的国家具体数据. 比如在导航菜单中选择 United Kingdom 或者点击了柱…
通常情况下,SSRS 报表在页面内容过多的时候会自动分页.但有的时候当页面内容不是很多,大概最多2页的情况下,或者客户要求所有内容必须在一页显示时,应该如何设置. 实际上,要考虑两种情况:第一种情况是在开发阶段的设置.第二种情况是在报表已经部署的服务器,或者部署到 SharePoint 或者 CRM 后,这时就不能在开发工具上更改了. 第一种情况,直接设置报表属性,将 Interactive Size - Height 大小调整成合适的值,默认通常是11 in, 可以调整到 25 左右一般可以满…
SSRS 中并没有直接提供本地化的配置方式,因此在 SSRS 中实现本地化,比如有英文标题还有可选的中文标题,就需要通过其它的方式来解决. 比如默认是这样的英文标题 - 但是本地中方用户可能比较喜欢看到这样的标题 - 我们可以通过以下方式来实现 - 创建一张翻译表,这张翻译表将配置所有需要本地化的中文和英文标签. -------------------------------------------------------------------------- -- http://www.cnb…
这篇文章源于在上一篇博文中有园友提出订阅 SSRS 报表时的一个问题,  于是就好好总结了一下,把有关 SSRS 报表订阅的要点和容易出现问题的地方写出来,希望对大家有所帮助! 参看上一篇博文 - SSRS 报表中分组聚合的展开和收起效果与处理不规则层次结构的技巧(没有子元素的时候不展开, 删除+符号) 先展示订阅成功的效果之一 进入正文.... 首先,先列出常见问题,大家多多少少碰到过. 第一,在SSRS报表订阅的地方找不到 Email 的选项 - Choose a method of del…
之前我写了一篇在 SSRS 开发中处理这种父子关系的汇总与聚合的文章 (SSRS 系列 - 使用分组 Group 属性实现基于父子递归关系的汇总报表),示例中的查询是基于 SQL Server 关系型数据库的,这一篇是基于 MDX 父子维度的 SSRS 报表. 沿用上一篇中的 (SSAS系列 - 关于父子维度的设计)父子维度 和(SSAS 系列 - 自定义的日期维度设计) 的时间维度,并在此基础上创建 Cube 并部署. 当然在这个例子中可能不会使用到时间维度,之所以添加进来只是因为在 Cube…
今天在天善问答里看到一个问题,如果我没有理解错的话,它应该是指比如在一个报表中选取一个时间段,然后求出这个时间段的某个 Measure 的 SUM 和.并且同时求出这两个时间点对应的上一年的时间点之间的同一个 Measure 的 SUM 和. 比如当前选取的时间点是 2004年1月8日,结束时间点是 2004年3月1日.那么不仅要求这个时间段的某度量值总和,并且还要求 2003年1月8日到2003年3月1日时间段的某度量值总和. 也就是说,这个时间段是一个动态的,根据输入的两个时间段决定当年和上…
来自群里面讨论的一个问题,EXCEL 中有类似于这样的图形,上面是 Chart, Chart X轴上的值正好就是下方 Table 的列头,这个在 SSRS 中应该如何实现?   SSRS 2008.2008RS,2012 中实际上没有这种对应的控件,我们通常想到的方式可能是上方一个单独的 Chart 图,下方一个 Table 然后合并在一起.但是这样会存在一些问题,因为 Chart 轴的值不是固定的,会随着聚合值的增加而扩展.并且对于表中的列头来说也没有办法完全能够和 Chart X 轴上的坐标…
基于数据仓库上的 SSRS 报表展示,一般可以直接通过 SQL 查询,存储过程,视图或者表等多种方式将数据加载并呈现在报表中.但是如果是基于 Cube 多维数据集的数据查询,就不能再使用 SQL 的语法了而应该使用 MDX 查询.关于 MDX 和其它 SSRS 的文章,请参看 BI 系列随笔列表 (SSIS, SSRS, SSAS, MDX, SQL Server) 这是我们要实现的报表效果,使用的数据库示例是 MDX Step by Step 2008 的 SSAS DEMO 数据库. 收起的…
SSRS 报表中有一些高级的技巧,平常很少用到,下面我通过这个案例来展现一下如何在实际开发中使用它们,并且如何解决一些实际的需求. 这张报表分别统计了不同的 Product 产品在不同的月份的 Order 订单数量, Due 付款数量和 Ship 装船数量. Start Date 和 End Date 的时间范围作为筛选,很显然第一个 Matrix 是以 Order Date 作为比较条件,第二个是以 Due Date, 第三是以 Ship Date 作为比较条件. 现在需要变成这样的一种需求…
基于父子关系的递归结构在公司组织结构里比较常见,基本上都是在一张表里实现的自引用关系.在报表中如果要实现这种效果,并且在这个基础上做一些数据的汇总,可以使用到下面提到的方法. 要实现的效果大致如下 - 半收起的效果 - 从 AdventureWorks2012 中抽取一些示例数据 - USE BIWORK_SSIS GO IF OBJECT_ID('DimEmployee','U') IS NOT NULL DROP TABLE DimEmployee GO IF OBJECT_ID('Fact…