2.4 创建和使用报表
创建基于多维数据集的报表可以对数据立方进行全方位地钻取,按照第1章对商业智能的认识可知道,这是商业智能的重要表现。按照BI解决方案的体系结构(图1-8),如果说SSIS整合了不同源的数据,实现了ETL的功能;SSAS对数据进行了相应的分析,创建了Cube和OLAP服务所需的数据库;那么报表应该是属于BI体系中的前端展现部分,需要使用SSRS报表服务来实现。
2.4.1 创建报表
报表可以使用完全自定义的方式来创建,也可以使用报表向导来创建,本节将使用后者来创建福马特商店的智能报表,其操作步骤如下。
(1)打开Business Intelligence Development Studio,选择【文件】→【新建】→【项目】命令,弹出“新建项目”对话框。在“项目类型”选项组中,选择“商业智能项目”选项,在“模板”选项组中,选择“报表服务器项目向导”选项。将报表服务器项目取名为foodmartsaleRPT,单击【确定】按钮,如图2-28所示。
图2-28 新建报表项目向导
(2)系统将弹出“报表向导”窗口,并告诉我们此向导将完成选择从中获取数据的数据源、设计对数据源执行的查询、选择要创建的报表类型、指定报表的基本布局、指定报表的格式设置等步骤,单击【下一步】按钮继续。
(3)此时系统弹出“选择数据源”窗口,为报表选择或创建所需数据的来源,输入“foodmartsale”作为名称,选择Analysis Services作为数据连接的类型,如图2-29所示。再单击【编辑】按钮,设置此数据源的连接属性,注意数据库要选择在2.3节部署到“Analysis Services”的数据库,可以通过单击【测试连接】按钮确认此连接的正确性。设置好后,单击【确定】按钮返回“选择数据源”窗口,单击【下一步】按钮继续操作。
(4)在弹出的“设计查询”窗口中单击【查询生成器】按钮,得到如图2-30所示的查询生成器窗口。该窗口主要有4个部分组成,左上角为元数据,左下角为计算成员,右上角为维度筛选,右下角是相应维度和量度组成的查询结果。在此例中,选择“Time By Day”维度的“the_month”字段和“Product”维度中具有层次结构的“Product_Category”、“Product_Class”和“Product”3个字段,而量度选择“Store Cost”和“Store Sales”2个字段,最后结果如图2-29所示。
图2-29 选择数据源窗口
图2-30 查询生成器窗口
(5)由于这里只需要分析1998年的销售数据,可以把Time By Day维度从“元数据”窗格拖曳到维度筛选窗格中,进行如图2-31所示的设置。完成后单击【确定】按钮回到“设计查询”对话框,可以看到在“查询字符串”中已经有刚才设计的查询的代码,这就是专门针对多维数据集的MDX代码,在以后将会学习到。单击【下一步】按钮继续操作。
图2-31 进行维度筛选
(6)这时系统将要让用户选择要创建的表报类型,选择“表格格式”, 单击【下一步】按钮进入如图2-32所示的“设计表”窗口。把“the_month”字段作为分页所用的字段, Product维度的3个层次的字段依次作为分组字段,而2个量度则作为详细信息字段,其结果如图2-32所示。单击【下一步】按钮继续。
图2-32 “设计表”窗口
(7)在弹出的“选择表布局”窗口中选择“递进”选项,同时为了能对相关的数据自动汇总,体现报表的智能特性,选中“包括小计”和“启用明细”2个选项,如图2-33所示,设置完后单击【下一步】按钮继续操作。
图2-33 “选择表布局”窗口
(8)这一步先在“选择表样式”窗口中选择一个窗口样式选项,单击【下一步】按钮将会弹出“选择部署位置”窗口,这是设置以B/S(浏览器/服务器)方式展示报表时的报表部署方式,保持默认设置并单击【下一步】按钮,指定报表名称并单击【完成】按钮,结束报表设计向导。
(9)将报表设计器切换到“布局”选项卡,会看到如图2-34所示的报表布局方式,这就是前面经过复杂的向导创建的报表的布局方式,其实完全可以在数据源的基础上手工定义个性化的报表布局,其方法将在第6章学习。
图2-34 向导创建的报表的布局
2.4.2 使用报表
报表创建好后,就可以打开报表。单击报表设计器上的“预览”标签,系统将从指定的报表数据源获取数据并且按照设计的报表数据布局方式显示出来,图2-35所示即为以上设计的报表的显示结果。从图中可以看到,报表可以按照“Product Category”、“Product Class”和“Product”3个层次分别显示“Store Cost”和“Store Sales”的量度值,层次间可以很方便地上钻和下钻,同时,报表对于每一种产品的量度还进行了自动汇总。可以发现,这种基于多维数据集的报表与基于传统关系型数据库的报表是有明显区别的。
图2-35 预览报表效果
这个报表可以导出各种格式以方便共享,单击“预览”选项卡下工具条上的保存按钮【】,可以看到如图2-36所示的下拉菜单,系统允许将报表保存为6种格式的文件,这里可以选择Excel文件,在紧接着弹出的对话框中输入文件名和保存的位置,单击【确定】按钮即可。
用Excel 2003打开保存的文件,可以看到如图2-37所示的报表效果。在此文件中,同样可以按照产品目录、产品类型和产品3个层次进行上下钻取,不同月份的报表也以不同的工作表的方式提供。
图2-36 将报表保存为其他文件
如果要通过其他方式访问(如通过浏览器),则必须部署报表。在“解决方案资源管理器”中用鼠标右键单击项目名称,在弹出的快捷菜单中选择【属性】命令。若要部署报表,必须在“属性页”对话框中指定“TargetServerURL”值,本地部署可以将此值指定为http://localhost/ReportServer。可以通过在报表上单击鼠标右键,在弹出的快捷菜单中选择【部署】命令,部署特定报表,部署完毕后,可以在浏览器的地址栏中输入http://localhost/ReportServer,根据目录的存放位置选择相应的文件夹可以访问刚才创建的报表。
图2-37 Excel报表效果