在数据源视图中定义命名查询 (Analysis Services)
命名查询是以表的形式表示的 SQL 表达式。 在命名查询中,您可以指定一个 SQL 表达式来选择从一个或多个数据源的一个或多个表返回的行和列。 命名查询基于一个表达式,除此之外,它在行和关系方面都与数据源视图中的其他表相似。
命名查询允许您不修改基础数据源即可扩展数据源视图中现有表的关系架构。 例如,可以使用一系列命名查询将一个复杂的维度表分割为几个较小、较简单的维度表以便在数据库维度中使用。 命名查询还可以用来将来自一个或多个数据源的多个数据库表联接到单个数据源视图表。
注意 |
---|
您不能将命名计算添加到命名查询,也不能基于包含命名计算的表创建命名查询。 |
创建命名查询时,需要为 SQL 查询返回的此表的列和数据指定名称,并根据需要对命名查询进行说明。 SQL 表达式可以引用数据源视图中的其他表。 定义命名查询后,命名查询中的 SQL 查询将发送到数据源提供程序并作为一个整体进行验证。 如果提供程序在 SQL 查询中没有发现任何错误,则将该列添加到表中。
SQL 查询中引用的表和列不应被限定或只应由表名限定。 例如,在引用某个表中的 SaleAmount 列时,SaleAmount 或 Sales.SaleAmount 是有效的,而 dbo.Sales.SaleAmount 则会生成错误。
若要查看有关如何创建命名查询的说明,请参阅如何 使用数据源视图设计器添加、查看、修改或删除命名查询 (Analysis Services)。 有关如何在数据源视图设计器中使用查询定义功能的信息,请参阅“创建/编辑命名查询”对话框(Analysis Services - 多维数据)。
请注意 定义查询 SQL Server 2000 或 SQL Server 7.0 数据源的命名查询时,包含相关子查询和 GROUP BY 子句的命名查询将失败。 有关详细信息,请参阅 Microsoft 知识库中的 Internal Error with SELECT Statement Containing Correlated Subquery and GROUP BY(有关包含相关子查询和 GROUP BY 的 SELECT 语句的内部错误)。