DetailPage-MSS-KB

Base de Dados de Conhecimento

ID do artigo: 2739928 - Última revisão: terça-feira, 25 de setembro de 2012 - Revisão: 1.0

 

Nesta página

Sintomas

Quando você tenta executar uma consulta MDX (Multidimensional Expressions) em Microsoft SQL Server 2012 SSAS (Analysis Services), você recebe uma mensagem de erro semelhante à seguinte:
A dimensão '<named set="" alias=""></named>' não foi encontrado no cubo quando a seqüência de caracteres, <named set="" alias=""> </named>, foi analisada.

Anotações
  • "Alias do conjunto nomeado"é um espaço reservado para o nome dinâmico que você definiu para a dimensão.
  • A consulta MDX é executada com êxito no SSAS 2008 R2.

Por exemplo, você recebe a mensagem de erro quando você executar a seguinte consulta no banco de dados AdventureWorks SQL Server 2008 R2 no SSAS 2012:
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];

Causa

Esse problema ocorre porque um alias é definido em um escopo específico não pode ser referenciado fora do escopo do SSAS 2012.

Observação O vazamento de escopo está habilitado no SSAS 2008 R2. No entanto, ele está desativado no SSAS 2012.

Situação

A Microsoft confirmou que este é um problema nos produtos Microsoft que estão listados na seção "Aplica-se a".

Como Contornar

Para contornar esse problema, use um dos seguintes métodos para evitar a referência a um alias que está fora de seu escopo definido em uma consulta MDX no SSAS 2012.

Método 1

Referência de alias dentro de seu escopo definido.

Método 2

Use uma expressão MDX duplicada que representa o alias. Por exemplo, para contornar o problema na situação descrita na seção "Sintomas", você pode substituir o alias [XQE_SA0] com a seguinte expressão:
([Geography].[Geography].CurrentMember,[Geography].[Geography].[Country])
Agora, o seguinte código será executado com êxito:
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];

Referências

Para obter mais informações sobre o banco de dados AdventureWorks para SQL Server 2008 R2, vá para o seguinte site da Microsoft CodePlex:
Exemplos de produtos de Microsoft SQL Server (http://msftdbprodsamples.codeplex.com)

A informação contida neste artigo aplica-se a:
  • 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
Palavras-chave: 
kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB2739928 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 2739928  (http://support.microsoft.com/kb/2739928/en-us/ )
Compartilhar
Opções de suporte adicionais
Fóruns de Suporte do Microsoft Community
Contate-nos diretamente
Localize um parceiro certificado da Microsoft
Microsoft Store