"维度<named set="" alias="">多维数据集中没有找到时字符串, <named set="" alias="">,已分析"SQL Server 2012 Analysis Services 中执行 MDX 查询时出现错误</named></named>

文章翻译 文章翻译
文章编号: 2739928 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

症状

当您尝试运行在 Microsoft SQL Server 2012 Analysis Services (SSA) 的多维表达式 (MDX) 查询时,您将收到类似于以下错误消息:
维度<named set="" alias=""></named>的多维数据集中找不到时字符串, <named set="" alias=""> </named>,已经过分析。

备注
  • "命名的集别名"是您为维度定义的动态名称的占位符。
  • 在 SSA 2008 R2 中成功执行 MDX 查询。

例如,在 ssa 上 2012年执行下面的查询对 AdventureWorks SQL Server 2008 R2 数据库时收到错误消息:
WITH 
SET XQE_NS10 AS
Filter
(
[Product].[Product Categories].[Category].MEMBERS
,
Count
(
Filter
(
CrossJoin
(
[Product].[Product Categories].[Category].MEMBERS
,[Product].[Status].[Status].MEMBERS
)
,
(
[Measures].[Reseller Freight Cost]
,[Date].[Fiscal].[XQE_MDF_CM0]
)
> 20000
)
,IncludeEmpty
)
> 0
)


/* The named set [XQE_SA0] is defined in context of the COUNT operation */

MEMBER [Date].[Fiscal].[XQE_MDF_CM0] AS
IIF
(
Count
(
Descendants
(
[Geography].[Geography].CurrentMember
,[Geography].[Geography].[Country]
) AS [XQE_SA0]
,IncludeEmpty
)
> 0
,Aggregate

/* [XQE_SA0] is subsequently used in AGGREGATE */
(
[XQE_SA0]
,[Date].[Fiscal].DefaultMember
)
,NULL
)
SET XQE_NS0 AS
[Geography].[Geography].[Country].&[Canada]
SELECT
{XQE_NS0} ON 0
FROM [AdventureWorks]
WHERE
[Measures].[Reseller Freight Cost];

原因

因为在特定的作用域中定义的别名不能引用在 ssa 上 2012年范围之外,则会出现此问题。

注意SSA 2008 R2 中启用了作用域泄漏。但是,它在 ssa 上 2012年中禁用。

状态

Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。

替代方法

要解决此问题,请使用下列方法之一来避免引用其 SSA 2012 在 MDX 查询中定义的范围之外的别名。

方法 1

引用其定义的范围内的别名。

方法 2

使用重复的 MDX 表达式,表示该别名。例如,若要解决的问题,在"症状"一节所述的情况下,可以替换 [XQE_SA0] 别名下面的表达式:
([Geography].[Geography].CurrentMember,[Geography].[Geography].[Country])
现在,将成功地运行下面的代码:
WITH 
SET XQE_NS10 AS
Filter
(
[Product].[Product Categories].[Category].MEMBERS
,
Count
(
Filter
(
CrossJoin
(
[Product].[Product Categories].[Category].MEMBERS
,[Product].[Status].[Status].MEMBERS
)
,
(
[Measures].[Reseller Freight Cost]
,[Date].[Fiscal].[XQE_MDF_CM0]
)
> 20000
)
,IncludeEmpty
)
> 0
)
MEMBER [Date].[Fiscal].[XQE_MDF_CM0] AS
IIF
(
Count
(
Descendants
(
[Geography].[Geography].CurrentMember
,[Geography].[Geography].[Country]
) AS [XQE_SA0]
,IncludeEmpty
)
> 0
,Aggregate
(
Descendants
/* instead of referencing [XQE_SA0], substitute the MDX upon which it is based */
(
[Geography].[Geography].CurrentMember
,[Geography].[Geography].[Country]
)
,[Date].[Fiscal].DefaultMember
)
,NULL
)
SET XQE_NS0 AS
[Geography].[Geography].[Country].&[Canada]
SELECT
{XQE_NS0} ON 0
FROM [AdventureWorks]
WHERE
[Measures].[Reseller Freight Cost];

参考

SQL Server 2008 R2 AdventureWorks 数据库的更多信息,请转到下面的 Microsoft CodePlex 网站:
Microsoft SQL Server 产品示例

属性

文章编号: 2739928 - 最后修改: 2012年9月25日 - 修订: 1.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Business Intelligence
  • Microsoft SQL Server 2012 Web
关键字:?
kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB2739928 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 2739928
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com