Você está offline; aguardando reconexão

"A dimensão '<named set="" alias="">' não foi encontrado no cubo quando a seqüência de caracteres <named set="" alias="">, foi analisado" Erro ao executar uma consulta MD...

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
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 0FROM [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 0FROM [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:

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 2739928 - Última Revisão: 09/25/2012 09:14:00 - Revisão: 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 KbMtpt
Comentários