【IT168技术文档】
近年来,高级报表及数据分析系统使得一种全新类型的数据库系统变得很受欢迎。在复杂的事务数据库系统中,商业数据量比以前要多,因此有效地为报表聚合大量数据变得越来越困难。决策支持系统在多维立方体中存储了预聚合的数据而不是在关系表中。事实上很多数据仓库系统可以利用关系数据库和多维存储的组合。决策支持数据库引擎很快成为一个高度专业化的领域。
一个较为明显的不同之处在于查询这些特殊数据库的语言。其中一种最流行的语言是MDX或称多维表达式语言,它同属SQL语言一族,有SQL语言中的一些公共子句和语句,但MDX更适合用于结构数据像元组、立方体、量度和切片,而不是关系、表及字段。
SQL SERVER分析服务
通过设计,分析服务数据具有层次性和多维性。不同于存储单一的事务或聚合值(或“离散数”),每次查询执行时,聚合值在预定义的分组级别存储。多维数据的视图被称为立方体,它包括维度成员(维数)和事实成员(量度和计算)。维度通常定义为分组值的层次结构。分析服务为报表进行优化。在商业数据系统演化的过程中,关系数据库系统常常会到达负荷点,在这一点数据由于如此的庞大和复杂使得查询运行缓慢。大量用户、系统共享及数据修改使得服务器资源紧张,这也同样会降低查询性能。使用分析服务实现的数据仓库和数据集市允许很多并发连接而且有更快速的查询性能。
在接下来的例子中,我将逐步引导读者完成以下过程:在基于分析服务的AdventureWoksDW数据库中定义一个数据源和数据集用来产生报表。这个示例数据库同SQL Server 2005分析服务一起被安装。如果读者已经在安装SQL Server数据库的同时将该示例数据库安装到默认路径,可以在目录c:\Program Files\Microsoft SQL SERVER\90\Tools\Samples目录下找到配置包。安装并连接后,就可以按照本章的步骤来用这个数据库建立示例报表。假定分析服务已经安装并配置,也有足够的权限浏览立方体和获取数据。如果没有,需要咨询本地的数据库管理员来完成。我发现,带给他们最喜欢的饮料将会有效地使得他们做好这些事情。
在这个例子中,我会给出设计一个完全的基于MDX的报表的基本步骤,但并不提供每一个步骤的详细命令。到目前为止,读者应该拥有使用这些工具及控件的必需技巧。我会提供基本的指令来完成一个简单的矩阵报表以便们可以看到数据源和查询的结果。在随后的章节中读者将学到更多关于矩阵及其他报表项的知识。
为了完成下面的练习,需要安装和运行SQL Server 2005分析服务。也将需要AdventureWorksDW分析服务数据库在服务器上生成和载入。
如果没有AdventureWoksDW数据库可用,确保已经安装了SQL Server数据库及所有的示例数据库。这个数据库是用Visual Studio生成的。 在SQL Server 2005安装目录下的AdventureWoksDW Analysis Services Project文件夹中找到AdventureWorks.sln文件。用Visual Studio打开这个解决方案,并简单运行项目。这将会连接到相关的AdventureWoksDW数据库,产生分析服务数据库,处理并填充所有的立方体和相关对象,使得这些数据对分析服务可用。
继续深入研究分析服务基础之外的内容将远离我们的主题并超出本书的范围。关于SQL Server分析服务和MDX查询编程,请参考Wrox出版社的Professional SQL Server Analysis Services 2005 with MDX,其作者为Sivakumar Harinath 和 Stephen R.Quinn。
1.创建一个数据源
第一步当然是生成一个SQL Server分析服务器的数据源。使用本地计算机。添加一个新的共享数据源到报表项目,共享数据源将会如图5-36所示。连接类型默认设置为SQL Server关系数据库引擎。实际上这将会在下一个对话框更改。给数据源提供一个名字,然后单击Edit按钮。如果有连接字符串信息,可以从Type列表选择提供程序,输入连接字符串,然后跳到图5-37。
这将会打开Connection Properties对话框,可以在图5-37中看到。如果没有设置为connect using Analysis Services provider,在这个对话框中单击Change按钮(如图5-38所示)。如果需要更改数据提供程序,将会用到Change Data Source对话框,如图5-38。选择数据源为Microsoft SQL Server Analysis Services并验证所选择的Data provider是.NET Framework Data Provider for Microsoft Analysis Services。单击OK按钮返回到上一个对话框。 


这里分析服务器就是本地主机,输入localhost作为服务器名(参见图5-39)。若分析服务器不在本地,在这里需要输入服务器名。使用下面的下拉列表中选择分析服务数据库,然后单击OK按钮。
如图5-40所示,这会生成连接字符串。如果有这些信息,可以跳过前面几步,直接输入文本到Connect string 文本框中。不管哪种方法,提供程序类型和输入连接字符串之后,选择Credentials选项卡。 

同SQL Server关系数据库引擎一样,有几种不同办法在建立连接时认证。在图5-41中的Credentials选项卡,选择第一个选项Use Windows Authentication,完成后单击OK按钮。 
创建一个报表
现在添加一个新报表。手动定义这个报表,右击Solution Explorer中的项目,选择增加一个新项。这将会打开Add New Item对话框,如图5-42所示。选择Report template,然后像这里所作的一样为报表添加一个描述名。单击Add按钮来生成RDL文件,并将新报表添加到项目中。 
在报表设计器的Data选项卡,创建一个新的数据集,并将刚才生成的共享数据源赋给 它。将其命名为ResellerSales_AS,单击OK按钮完成。图5-43将会显示熟悉的Dataset对话框。 
如果没有在查询字符串文本框输入文本内容而直接单击OK按钮,将打开查询设计器。因为数据源配置为使用分析服务数据提供程序,这将会打开MDX图形查询生成器,如图5-44所示。
如果数据库定义了多个立方体,可以在左边面板的上方选择框中选择一个。立方体结构将显示在Metadata窗口中。对于这个立方体,可以看到树型视图节点图标,表示量度、KPI以及维度。 
用SQL BI报表分析数据
0
相关文章