定义数据源视图 (Analysis Services)

数据源视图包含 Analysis Services 多维数据库对象(即多维数据集、维度和挖掘结构)使用的架构的逻辑模型。 数据源视图是元数据定义(以 XML 格式存储),这些架构元素由统一维度模型(UDM)和挖掘结构使用。 数据源视图:

  • 包含表示来自一个或多个基础数据源的选定对象的元数据;或者,如果您采用“自上而下”的架构生成方法,元数据则用于生成基础关系数据存储。

  • 可以基于一个或多个数据源生成,以便定义集成来自多个源的数据的多维和数据挖掘对象。

  • 可以包含基础数据源中不存在的关系、主键、对象名称、计算列和查询,并且这些存在于独立于基础数据源之外。

  • 对客户端应用程序不可见或不可查询。

DSV 是多维模型的必需组件。 大多数 Analysis Services 开发人员在模型设计的早期阶段创建 DSV,基于提供基础数据的外部关系数据库生成至少一个 DSV。 但是,也可以在后面的阶段创建 DSV,在创建维度和多维数据集后生成架构和基础数据库结构。 第二种方法有时称为自上而下设计,通常用于原型制作和分析建模。 使用此方法时,可以使用架构生成向导基于 Analysis Services 项目或数据库中定义的 OLAP 对象创建基础数据源视图和数据源对象。 无论如何以及何时创建 DSV,每个模型都必须有一个 DSV,然后才能处理它。

本主题包含下列部分:

数据源视图组合

使用数据源视图向导创建 DSV

指定关系名称匹配的标准

添加辅助数据源

数据源视图组合

数据源视图包含以下项:

  • 名称和说明。

  • 从一个或多个数据源检索到的架构子集的定义,最多包括整个架构,包括以下内容:

    • 表名。

    • 列名。

    • 数据类型。

    • 可空性

    • 列长度。

    • 主键。

    • 主键 - 外键关系。

  • 基于底层数据源的架构注释,包括以下内容:

    • 表格、列和视图的友好名称。

    • 返回来自一个或多个数据源的列(这些数据源在架构中显示为表)的命名查询。

    • 从数据源返回列的命名计算(显示为表或视图中的列)。

    • 逻辑主键(在基础表中未定义主键或未包含在视图或命名查询中时需要)。

    • 逻辑主键 - 表、视图和命名查询之间的外键关系。

使用数据源视图向导创建 DSV

若要创建 DSV,请从 SQL Server Data Tools 中的解决方案资源管理器运行数据源视图向导。

注释

或者,您可以先创建维度和多维数据集,然后使用模式生成向导为模型生成 DSV。 有关详细信息,请参阅架构生成向导(Analysis Services)。

  1. 在解决方案资源管理器中,右键单击“数据源视图”文件夹,然后单击“ 新建数据源视图”。

  2. 指定一个新的或现有的数据源对象,该对象提供与外部关系数据库的连接信息(只能在向导中选择一个数据源)。

  3. 在同一页上,单击“ 高级 ”以选择特定架构、应用筛选器或排除表关系信息。

    选择架构

    对于包含多个架构的非常大的数据源,可以选择在逗号分隔列表中使用的架构,且没有空格。

    关系检索

    可以通过清除“高级数据源视图选项”对话框中的 “检索关系 ”复选框来故意省略表关系信息,从而允许在数据源视图设计器中手动创建表之间的关系。

  4. 筛选可用对象

    如果“可用对象”列表包含大量对象,则可以通过应用将字符串作为选择条件的简单筛选器来减少列表。 例如,如果键入 dbo 并单击 “筛选器 ”按钮,则“ 可用对象 ”列表中仅显示以“dbo”开头的那些项。 筛选器可以是分部字符串(例如,“sal”返回销售和工资),但它不能包含多个字符串或运算符。

  5. 对于未定义表关系的关系数据源,将显示“ 名称匹配 ”页,以便你可以选择适当的名称匹配方法。 有关详细信息,请参阅本主题中的“ 指定关系名称匹配条件 ”部分。

添加辅助数据源

定义包含来自多个数据源的表、视图或列的数据源视图时,将从中将对象添加到数据源视图的第一个数据源指定为主数据源(在定义主数据源后无法更改主数据源)。 根据单个数据源中的对象定义数据源视图后,可以添加来自其他数据源的对象。

如果 OLAP 处理或数据挖掘查询需要单个查询中来自多个数据源的数据,则主数据源必须支持使用 OpenRowset远程查询。 通常,这是一个 SQL Server 数据源。 例如,如果设计一个 OLAP 维度,该维度包含绑定到来自多个数据源的列的属性,则 Analysis Services 将构造一个 OpenRowset 查询,以便在处理过程中填充此维度。 但是,如果可以将 OLAP 对象填入或从单个数据源解析数据挖掘查询,则 OpenRowset 不会构造查询。 在某些情况下,可以定义属性之间的属性关系,以无需进行查询OpenRowset。 有关属性关系的详细信息,请参阅 属性关系在数据源视图(Analysis Services)中添加或删除表或视图 以及 定义属性关系

若要从第二个数据源添加表和列,请在解决方案资源管理器中双击 DSV 以在数据源视图设计器中打开它,然后使用“添加/删除表”对话框包含项目中定义的其他数据源中的对象。 有关详细信息,请参阅在数据源视图中添加或删除表或视图(Analysis Services)。

指定关系的名称匹配条件

创建 DSV 时,将根据数据源中的外键约束在表之间创建关系。 Analysis Services 引擎需要这些关系来构造适当的 OLAP 处理和数据挖掘查询。 但是,有时,具有多个表的数据源没有外键约束。 如果数据源没有外键约束,数据源视图向导会提示你定义希望向导尝试匹配不同表中的列名的方式。

注释

仅当基础数据源中未检测到外键关系时,才会提示提供名称匹配条件。 如果检测到外键关系,则使用检测到的关系,并且必须手动定义要在 DSV 中包含的任何其他关系,包括逻辑主键。 有关详细信息,请参阅“在 数据源视图”(Analysis Services)中定义逻辑关系 ,并在 数据源视图(Analysis Services)中定义逻辑主键

数据源视图向导使用响应来匹配列名,并在 DSV 中的不同表之间创建关系。 可以指定下表中列出的任一条件。

名称匹配标准 DESCRIPTION
与主键同名 源表中的外键列名称与目标表中的主键列名相同。 例如,外键列 Order.CustomerID 与主键列 Customer.CustomerID相同。
与目标表名称同名 源表中的外键列名称与目标表的名称相同。 例如,外键列 Order.Customer 与主键列 Customer.CustomerID相同。
目标表名称 + 主键名称 源表中的外键列名称与与主键列名称串联的目标表名相同。 允许空格或下划线分隔符。 例如,以下外键-主键对全部符合条件:

Order.CustomerIDCustomer.ID

Order.Customer IDCustomer.ID

Order.Customer_IDCustomer.ID

选择的条件更改 DSV 的 NameMatchingCriteria 属性设置。 此设置确定向导如何添加相关表。 使用数据源视图设计器更改数据源视图时,此规范确定设计器如何匹配列以在 DSV 中的表之间创建关系。 可以在数据源视图设计器中更改 NameMatchingCriteria 属性设置。 有关详细信息,请参阅数据源视图中的“更改属性”(Analysis Services)。

注释

完成数据源视图向导后,可以在数据源视图设计器的架构窗格中添加或删除关系。 有关详细信息,请参阅 “在数据源视图(Analysis Services)中定义逻辑关系”。

另请参阅

在数据源视图中添加或删除表或视图(Analysis Services)
在数据源视图中定义逻辑主键(Analysis Services)
在数据源视图中定义命名计算(分析服务)
在数据源视图中定义命名查询(Analysis Services)
替换数据源视图(Analysis Services)中的表或命名查询
在数据源视图设计器中使用图表(Analysis Services)
浏览数据源视图中的数据(Analysis Services)
删除数据源视图 (Analysis Services)
刷新数据源视图中的架构(Analysis Services)