SSRS2012 动态行动态列报表实现步骤详解

浏览: 2626

开篇介绍

      需求:以城市维度根据订单渠道和订单来源分析统计当月累计订单数据。渠道分A,B。订单来源分1,2,3,4。

      以后业务扩张了,城市,渠道,订单来源还可能增加,所以可以把渠道和订单来源做成动态列,城市做成动态行。千万别把数据写死在表。万一再加一个订单类型统计分析,也方便维护。主要是在SSRS层新增一个列分组就行。有代码复用的味道在里面。

案例实现

      数据清洗后的案例数据,红色方框的列是要分析的城市竖维,渠道横维,来源横维如图所示:

    Clipboard Image.png

    打开SSDT新建报表服务器项目,添加新报表,跟着报表导向一步步操作,如图所示。

    选择数据源---》设计查询---》选择报表类型---》设计矩阵

       选择数据源

     Clipboard Image.png


       设计查询

        查询语句给出需要的字段。

     Clipboard Image.png


        报表类型

      选择矩阵(矩阵类型的报表才可以设置动态行动态列)

     Clipboard Image.png

      

        设计矩阵    

                Period_id,CityId,AreaName对应行。   

                ChannelType 对应列。

                其他要分析的数据字段对应详细信息。

               设计矩阵窗体左下角有个启用明细复选框(图片未截出来),选中之后呈现的报表将是钻取形式的报表,此案例已勾选。

      Clipboard Image.png

         完成向导

根据自己喜好,调整报表样式。

      Clipboard Image.png

         预览效果

         钻取的+号展开,展现明细如图所示:

        Clipboard Image.png

        Clipboard Image.png


总结

       SSRS报表的设计内容,展现方式等,其实有很多内容技巧在里面。复杂的涉及到代码引用,报表逻辑跳转等等。简单的涉及指示器,警戒值等等。当然一般需求并不需要代码辅助。 

       此案例只是展示SSRS钻取方式的实现。数据量大的话,在SSRS做钻取是不明智的,性能肯定特别慢。钻取的实现一般是在SSAS中处理后的结果。

       理解SSRS钻取实现方式,看行组,列组各个组属性的可见性上的设置。组之间父子关系,如图所示:

      Clipboard Image.png

       根组的组属性中的可见性栏在报表最初运行时,选中显示即可,如图所示:

      Clipboard Image.png

       子组matrix1_AreaName的组属性中的可见性栏有一个勾选框可以通过此报表项切换显示,选中并且下拉框选中其父组matrix1_Period_id的Period_id字段。依次类推设置,如图所示:

       这样设置就可实现钻取功能。

      Clipboard Image.png




介绍个公众号“IT海贼船”,觉得主题内容都不错,是个认真做内容的公众号。喜欢的可以关注下。

海贼船内容(绝对干货)

 A.职业规划,工作,面试经验分享。

 B.每周不定期更新相关案例项目详解文章。

 C.视频文档资源共享。

D.励志英文听力素材,每夜轻听。

黑胡子: 人的梦想,永远不会结束!

推荐 1
本文由 粽子job 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册