1、7.1 报表自动化系统概述7.3 报表设计目 录O N T E N T S报表需求分析报表开发环境报表页面设计7.2 报表生命周期7.4 报表展示7.5 报表的部署和管理7.1 报表自动化系统概述2143报表自动化系统是一种依赖报表服务器自动生成和发布报表的软件系统。报表服务器是一个完整的基于Web服务器的平台。可以建立、管理、发布传统的基于纸张的报表或者交互的、基于Web的报表。报表服务器提供了丰富的格式化和个性化功能。一个报表可以被自动转换成各种格式,而无需编写任何附加的代码。报表服务器模块化的设计方式和可扩展的应用程序接口(APIs)使得软件开发人员和企业可以将报表集成到已有的系统或第三
2、方的应用中。7.1 报表自动化系统概述提供灵活的报表发布选项。与数据库服务器及开发环境的紧密结合,使得报表开发比在其它环境下更加简便快速。同时,以XML形式产生报表这一功能使得报表可以容易地与其他应用程序和工具进行数据交换。报表服务器的功能0102037.1 报表自动化系统概述微软基于数据库服务器的SSRS报表系统的结构图7.1 报表自动化系统概述报表自动化实例7.2 报表生命周期1报表生命周期是报表从创建到交付一系列活动的总称。2报表的生命周期可以分为三个部分:报表开发、报表管理以及用户对报表的访问。3报表自动化系统完全支持报表生命周期的这三个阶段。7.2 报表生命周期1报表开发报表开发人员
3、在开发平台上定义数据源和从数据源返回的查询结果,设计报表的布局。根据已知的信息定位布局,调整报表的展现形式,显示分组查询结果的明细和小计。2报表开发的第一步是选择数据。报表数据来源于各种数据源,最典型的数据源是数据仓库,即从多种数据源通过集成服务提取、转换、加载到数据仓库的数据。3报表开发的重点是报表的布局。报表布局的重点和难点是选择何种形式的报表,表格、矩阵、图表还是仪表盘来展现数据,如何在报表里组织数据字段,怎样给报表添加丰富的功能。7.2 报表生命周期1报表管理配置报表属性,将报表部署到服务器;2设计报表服务器内的安全性,包括配置服务器安全策略、分配用户权限和配置项目级安全性;3执行管理
4、任务,检测报表服务器运行状态和资源等。7.2 报表生命周期1访问报表报表自动化系统应当为用户提供简洁的报表访问形式,为开发者提供简洁和容易获取使用的报表的接口。2大多数报表系统有自己的报表Web服务,提供的访问方式是浏览器,将链接导航到报表在报表服务器里的存储位置。用户也可以选择创建报表门户应用程序或是使用SharePoint等集成方式。3用户除了可以主动访问报表,还希望能够订阅报表,即报表在固定的时间直接发送到用户的邮箱。7.3 报表设计报表开发环境报表需求分析报表页面设计7.3.1 报表开发环境(1)操作系统:Microsoft Windows Server 2008 R2;(2)数据库引
5、擎:Microsoft SQL Server 2008 R2,同时支撑数据仓库系统;(3)数据集成服务:Microsoft SQL Server Integration Services 2008,支持ETL过程的工作流;(4)报表服务:Microsoft SQL Server Reporting Services 2008,作为报表自动化系统的开发设计平台;(5)构建数据仓库:Microsoft SQL Server Management Studio作为数据库、数据仓库的构建和管理工具;开发环境与工具(6)数据集成服务、报表服务的基础环境:Microsoft SQL Server Busi
6、ness Intelligence Development Studio。7.3.2 报表需求分析快速和便捷地访问业务信息已成为推动企业发展不可或缺的要素,激烈的市场竞争与市场环境的快速变化使得每个被授权的用户能够随时随地的访问、获取企业各种不同的业务信息成为一种必需。首先从业务角度出发,找出用户关心的业务问题。即报表系统要展现的重点内容,且不同的用户关注的业务重点不同。高层管理者主要关注企业宏观层面上的问题,不必关注到每一个具体的运营细节。企业的宏观问题归纳一下有五大类:成本收益问题,资源分配问题,计划落实问题,绩效考核问题以及安全问题。1237.3.2 报表需求分析12成本收益问题:公交集
7、团是为广大市民提供公共交通运输的企业,它不以盈利为目。公交运营的成本主要是车辆的耗损、人员的费用以及油耗,油耗是成本的关键指标。营运收入,收银收入,票务收入,IC卡收入是收入的指标。资源分配问题:人员,特别是司机,是公交集团最重要的资源。高层管理者需要将司机合理的分配到各条线路,保证所有车辆正常行驶。当特殊情况出现,管理者也知道如何对司机进行再分配。结合公交集团的运营情况,高层管理者关注的问题如下7.3.2 报表需求分析34计划落实问题:公交集团针对公交运营制定了详细的计划,例如计划客运量、计划客运收入、计划运营千米。除了直接表示计划的指标,高层管理者还特别关注计划有无实现。因此,计划完成率也
8、是非常重要的指标。绩效考核问题:公交集团使用的KPI有运营、计划、人员、安全、油耗和服务。公交是一个面向服务的行业,因此,服务是特别重要的一个KPI。服务合格数、服务合格率、表扬、批评都是服务的关键指标。5安全问题:公交的运营存在许多隐患和风险,例如安全事故。高层管理者需要了解风险目前的状况如何,为什么会发生,以及如何规避。事故次数、事故费用和抛锚数都是安全问题的指标。7.3.3 报表页面设计132基础分析报表:做基础分析时用的,包括日表、月表等;常用报表:日常工作时用的;个性化报表:在特别的情况下作分析和决策时用的,它提供一些帮助管理者做出更好决策的数据。根据用户的需求,报表可分为三类7.3
9、.3 报表页面设计报表的分类报表分类报表分类基础分析报表基础分析报表常用报表常用报表个性化报表个性化报表子报表类型基础分析日报表基础分析月报表日生产进度表月生产进度表明细表期间明细表上岗人数对比表线路空调对比表7.3.3 报表页面设计报表按照运营级别从上到下分为分公司表、车队表、线路表、司机表、乘务员表和车辆表;12按照时间维度又分为月表和日表。3同时,按照时间维度划分,生产进度表除了有六张日生产进度表,还有六张对应的月生产进度表。每种类型子报表还包括一系列该类型的报表。7.3.3 报表页面设计1创建报表项目:打开Business Intelligence Development Studio
10、,创建一个新的报表项目。本项目报表系统所有的报表都放到该项目里。2添加数据源:数据源有两种添加方法。一种方法是新建一张报表,然后在“报表数据”视图下找到“数据源”,点击右键添加;另一种方式是在“解决方案资源管理器”里添加“共享数据源”。两种方法添加的数据源使用范围不同,第一种方法添加的数据源只对单张报表有效,而共享数据源可以被报表项目下的所有报表调用。本报表系统使用第二种方法,将公交集团数据仓库添加为共享数据源。下面以“日司机上岗人数对比”表为例详细介绍报表的制作过程7.3.3 报表页面设计3添加数据集:数据集指定要从数据连接使用的数据。有两种类型的数据集,包括共享数据集和嵌入数据集。其中,共
11、享数据集是在报表服务器上定义的,设计者可以浏览到服务器以便创建共享数据集,或将一个预定义的数据集添加到报表。数据集的定义还包含参数、筛选器和指定字符区分的数据选项。共享数据集“车辆编号”的SQL查询语句如下:SELECT DISTINCT 车辆编号FROM Dim营运车辆WHERE (线路编号 IN(线路编号)ORDER BY 车辆编号7.3.3 报表页面设计“报表数据”添加嵌入数据集“日司机上岗人数对比”,数据集属性的界面设置7.3.3 报表页面设计在数据集属性界面,除了编写查询语句,设计人员还可以更改数据集的字段,更改排序规则、区分大小写,设置参数,设置筛选器。1设置参数:报表参数是为报表
12、全局定义的。如果报表查询包括参数,则将自动创建报表参数(也可以手动创建)。参数的另一种定义方法是配置数据集属性的筛选器。筛选器的参数只能对嵌入数据集筛选出来的数据有效。创建报表参数之后,必须设置标识该参数的属性,以及控制该参数在报表中的使用方式的属性。配置参数属性时,特别要注意可用值和默认值的设置。可用值是指参数的可能取值,如“日”的可用值就是1到31。默认值是指初始加载报表时参数的值。“日司机上岗人数对比”数据集非常庞大,为了加快报表加载速度,“日”的默认值设置为1,即每次进入“日司机上岗人数对比表”,默认是1号的数据。7.3.3 报表页面设计报表参数日的设置界面7.3.3 报表页面设计报表
13、结构的设计:“日司机上岗人数对比表”主要通过分析司机上岗情况来了解司机运营状态。本章报表涉及分析三个层面上的对比,线路级别、车队级别和分公司级别,因此,采用小计的方法对每个级别的数据做汇总。同时,为了使报表具有更直观的效果,报表使用了明细方法。日司机上岗人数对比表7.3.3 报表页面设计报表的交互设计:报表的交互功能有钻取和跳转,在“日”的文本框上单击右键,选择“文本框属性”,点击文本框的最后一条属性“操作”,进入设置报表交互功能设置设计界面。文本框属性设置7.3.3 报表页面设计报表的跳转有三种形式,一是跳转到报表,二是跳转到书签,三是跳转的URL。选择“转到报表”,在指定的地方填写要跳转到
14、的报表名称,并且对运行报表的参数进行配置。“跳转”操作通常是为了达到报表钻取的功能,报表的钻取是沿着维度进行的。7.报表展示将设计完成的报表发布到报表服务器上,用户通过访问浏览器的形式查看报表。下图是公交五公司的计划统计报表数据分析系统网站的导航条。用户可以通过页面上的导航,迅速定位到想要查看的报表。计划统计报表数据分析系统网站的页头7.报表展示“分公司月汇总”表属于基础报表,它是一张数据量非常大的报表,包含了数据仓库的表“DFact_分公司月汇总”的所有字段。“分公司月生产进度”表属于常用报表,主要用来检测计划的完成情况。“分公司月生产进度”分别对客运量、总收入、行驶里程、换算里程、千公里人
15、次、千公里收入以及能源消耗这七个方面计算计划、实际完成和完成率。“日线路空调对比表”属于个性化报表。这张表的特点在于可以通过使用参数“线路是否空调”和“车辆是否空调”查看线路和车辆的空调比例。下面分别展示三张具有代表性的报表。7.报表展示分公司月汇总表7.报表展示分公司月生产进度表7.报表展示日线路空调对比表7.报表的部署和管理需要集中存储以便用户访问的共享数据源、共享数据集也要一同部署到报表服务器上,并被存储在ReportServer数据库里。通常,报表开发人员直接将开发好的报表直接拷贝到服务器上,而报表服务器管理者则可以使用报表管理器进行手动部署。报表在设计完后需要将报表进行部署,部署过程
16、是指将报表定义复制到RepportServer数据库这一过程。7.报表的部署和管理使用SSRS部署报表主要有两步,第一步创建报表发布环境并配置Reporting Services,特别要注意的是本机模式和集成模式下属性配置是不同的;第二步是上传报表。报表设计者可以是在Intelligence Studio报表设计环境下发布报表。对于一些有权限向报表服务器上添加内容的用户,可以使用Web接口程序将报表直接上传到服务器。.报表的部署和管理12配置报表服务器的安全策略:Reporting Services使用身份验证来控制用户对报表的访问,最常见的方法为每个报表用户创建一个Windows账号,即使用
17、Windows集成安全性方法。分配用户权限:Reporting Services可以为不同的用户分配不同的权限,具有不同权限的用户可以查看的报表内容不同,可以对报表进行的操作也不同。这样的机制主要依赖于对用户角色的配置。报表的管理主要有四部分7.3.2 报表需求分析34配置项目级安全性:配置项目级安全性可以控制用户可以查看和使用哪些项目。如果用户的角色不允许访问某个项目,那么该用户是无法使用该项目的。数据安全性管理:报表的数据是不允许被随便被修改、删除的,因此,我们需要通过管理数据的安全性,确定不同用户访问同一报表的不同权利。Reporting Services提供三种保护数据安全的方法,第一种方法是通过使用查询参数和角色来保护数据安全,第一种是使用权限表来控制用户访问,第三种是使用数据集筛选器来控制不同用户在访问同一报表时能看到相应权限的数据。