Reporting Service2008 使用总结

  最近使用了SQL Server Reporting Services 2008 (SSRS)开发报表,感觉有些功能蛮强大,但也有一些不好使用之处。

      强大之处:1. 数据抓取出来后,SSRS根据你的设定自动分组,布局,汇总,无需写代码实现这些功能。

        2. 表达式(Expression),表达式很有用,但是有些却难用,可能是我用的不熟。

        Reporting Services 2008 R2新增了一些方法很有用,如下图:

         是用这三个方法,对于键值对(一般是下拉列表)的数据就不需在SQL语句中Join大量表,可以使用这三个方法根据键从Dataset中获取文本。

         在此引申一个问题:R2以前的版本如何实现此功能,如果自己编码,如何取得Datasets中建立的Dataset

         Reporting Service2008 使用总结

  不足之处:1. 因为行很长,想固定左侧列,无法固定,按照MSDN上操作(分组->高级模式->静->FixedData=true),无用。

       2. 折叠功能初始状态必须为折起来,张开却显示为+号,扯淡啊。

       3. 如下图:B 初始为折叠无法分页,初始为展开状态分页正常,A无此问题,我估计因为B无法确定依据什么分页,而A中,parent与son不在同行,

         可以确定是以parent 或 son分页 。

          Reporting Service2008 使用总结

       4. 创建表格可选用table(表格) 或 matrix(矩阵),使用表格时,列标题在每页显示和总是显示功能失效,第一页正常,第二页开始无列标题,matrix不存在此

        问题,如设置如下图

        Reporting Service2008 使用总结

 

  注意之处: 1. 参数顺序很重要,被调用的参数一定要放到调用者的前面,否则会出现此错误:Forward dependencies are not valid.

        2. 分组是一个让人容易迷糊的地方,最好是理解SSRS为什么要这样设计分组,分组的原则,本质是什么。

          3. 表达式有些细节要注意,使用往某些方法传参数时要注意数据类型。

          比如使用这个表达式 =Join(MultiLookup(Split(Fields!Types.Value, ","), Fields!Id.Value, Fields!Name.Value, "DS"), ",")

                          就因为标红处的数据类型与前面不一致,功能怎么都出不来。

       4. 导出功能,如果行太宽,导出到Work 或 PDF时,会被截断。

   吐槽:MSDN上SSRS介绍有很多,但绝大部分是文字描述,编写的人有没有去试验过真让人怀疑,因为很多功能照着做,无法使用。

你可能感兴趣的:(reporting)