技术开发 频道

SQL BI的查询基础


【IT168技术文档】
  报表服务器能够从各种数据源获得数据。几乎所有相关数据库产品都通过结构化查询语言(SQL)进行查询,这意味着对于一个不同数据源(也许是Oracle或者SQL Server)建立某一数据库产品查询(比如说Microsoft Access)是很方便的。大部分数据库产品执行一个遵循ANSI SQL标准的SQL格式。例如,SQL Server 遵循ANSI 92 SQL标准,其他产品可能遵循其他修订格式(比如ANSI 89 SQL或者ANSI 99 SQL)。除了大部分基础SQL语句,大部分SQL用语不是完全可互换的,需要对它们各自的特点有所了解。

  其他专业数据库产品可能会使用不同的查询语言。Microsoft SQL Server分析服务是数据存取产品,使用多维结构组织复杂数据用于决策支持系统。

  在这里重要的是,用户能够运用自己的数据库产品所接受的任何查询语言。报表服务提供了一个专为Transact-SQL设计的查询编辑器、和一个普通编辑器来满足其他查询语言和SQL用语。

数据源
  一个数据源包含数据集的连接信息。可以只为一个指定的报表数据集建立数据源或者与不同报表共享数据源。因为大部分报表将从一个公共数据源获得数据,这使得建立一个共享数据源常常具有意义。使用共享数据源具有很多优点。即使没有多少报表需要共享一个核心数据源,建立一个共享数据源也不会花费额外的精力。数据源独立于每一个报表进行管理并且在必要的时候易于更新,所以在这种情况下仍具有优势。然后,一旦增加了新报表,在报表服务器上已经建立并配置了共享数据源。

  一个Visual Studio报表项目,可通过三种方式建立数据源:

● 在报表向导中建立一个数据源。

● 利用Project Add Item模板建立一个数据源。

● 定义一个数据集时建立一个数据源。

让我们详细地看一下这三种方式。

在报表向导中建立数据源
  此项练习中将建立一个新的报表项目或打开一个已经存在的报表项目。通过Solution Explorer,右击Reports文件夹,选择Add New Report启动报表向导。向导的第一页将提示选择一个存在的共享数据源还是建立一个新的数据源,如图5-4所示。

利用Project Add Item模板建立数据源
  在Solution Explorer中,单击Reports。右击并选择Add->Add New Item。该对话框中的选项包括Report Wizard、Report和Data Source。选择Data Source选项,建立一个共享数据源。

  下面是一个标准的Data Link Properties对话框的例子,用于定义一个数据源。如果数据库服务器命名为DWServer,选中该名称或者在第一个框内输入它,对话框的第一步将如图5-5所示。

  如果正在使用一个安装在同一台计算机上的本地开发数据库服务器,可以输入.(一个句点)或localhost。否则,输入数据库服务器的名称。在第二步,选择用于数据库服务器用来检验安全证书的安全认证方法。配置SQL Server以应用Integrated Windows Security或both SQL Server Security and Integrated Windows Security。在开发环境中,集成安全是个简单的选择。

最后,选择或者键入数据库的名称。

定义数据集时创建数据源
  如果不用报表向导建立一个新报表,那么将从报表设计器中选择或者建立数据源。报表在设计器内打开,确认处于Data选项卡。由Dataset下拉列表中,选择New Dataset,得到的对话框如图5-6所示。

  从数据源下拉列表中选择New Data Source,打开Data Link Properties对话框,它具有与选择数据源新项模板有相同的选项。

  无论用哪种方法,数据源都是一个简单的连接字符串,保存在报表定义或者共享数据源文件中。

数据源和查询语言
  本章的示例全部采用SQL Server 2005示例数据库。建立数据源时,如果选择非SQL Server的某一数据提供程序,需要采用适合该产品的查询语言来编写查询。对于大部分相关的数据库产品来讲,这将是一种SQL用语。例如,Oracle采用SQL的一个叫做PL/SQL的版本,而Microsoft Access使用Access SQL。一些提供程序需要唯一的查询表达式类型或者为数据源环境特别设计的脚本代码。

  在定义一个数据集的查询表达式时,设计器将显示两个类似的查询窗口之一。如果在使用SQL Server数据提供程序,将会显示Transact-SQL查询生成器。如果是使用其他数据提供程序的情况,将使用另一种查询语言或者SQL用语,这是显示一个通用的查询窗口。

  要在分析服务中查询立方体结构,使用一种称为多维表达式(MDX)的专用表达式语言。报表服务的当前实现支持有限制的MDX。不同于分析服务的Cube Browser(立方体浏览器)和其他专用的多维数据查询工具,报表基于扁平化为二维结构的数据,用类似SQL查询的行和列来表示。
  将在本章后面的“分析数据报表”中包括Microsoft分析服务和其他数据源的用法。

0
相关文章