Artigo: 932871 - Última revisão: quinta-feira, 22 de Março de 2007 - Revisão: 1.2

Quando referencia um alias de conjunto que é referenciado num cálculo em SQL Server 2005 Analysis Services, poderá receber resultados inesperados

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

Sintomas

Quando referencia um alias de conjunto que é referenciado num cálculo no Microsoft SQL Server 2005 Analysis Services, poderá receber resultados inesperados. Este problema ocorre quando referencia o alias de conjunto fora do contexto original do alias.

Causa

Este problema ocorre porque um alias de conjunto que é referenciado num cálculo só deve ser utilizado no contexto da respectiva definição.

Resolução

Para evitar resultados incorrectos, utilize aliases de conjunto no contexto da respectiva definição.

Ponto Da Situação

Este comportamento ocorre por predefinição.

Mais Informação

Aliases de conjunto que estão definidos num cálculo podem ser utilizados noutro cálculo. No entanto, estes definem os aliases podem não devolver resultados correctos. No exemplo seguinte, os quatro valores que são devolvidos para o [Território de vendas]. [grupo de região de vendas]. [NomeAlias] calculada membro são tudo ? Costa." No entanto, os valores esperados do conjunto de alias são:
  • Europa
  • THE
  • América do Norte
  • Do Pacífico
Nota The following sample code requires that you install the Adventure Work sample database in SQL Server 2005 Analysis Services.
WITH 
MEMBER [Sales Territory].[Sales Territory Group].[AliasName] AS 
    '[AliasSet].ITEM(0).NAME' 
SELECT
        GENERATE( 
                [Sales Territory].[Sales Territory Group].[All Sales Territories].CHILDREN, 
                GENERATE( 
                        {[Sales Territory].[Sales Territory Group].CURRENTMEMBER} AS [AliasSet], 
                        {[AliasSet],[Sales Territory].[Sales Territory Group].[AliasName]} 
                    ,ALL), 
        ALL)
    ON AXIS(0)
FROM 
    [Adventure Works] 
WHERE 
([Measures].[Reseller Sales Amount]) 
Because the Generate function that is used in this scenario is data driven, the context of the [Sales Territory].[Sales Territory Group].[AliasName] calculated member changes across the nested Generate function calls.

No primeira iteração da chamada de função Gerar externa, a coordenada é [Território de vendas]. [grupo de região de vendas]. & [Europa]. Também é o valor do alias de conjunto [AliasSet].

No segunda iteração da chamada de função Gerar externa, a coordenada é [Território de vendas]. [grupo de região de vendas]. & [NA]. Também é o valor do alias de conjunto [AliasSet].

No terceira iteração da chamada de função Gerar externa, a coordenada é [Território de vendas]. [grupo de região de vendas]. & [América do Norte]. Também é o valor do alias de conjunto [AliasSet].

Na iteração quarta e final da chamada de função Gerar externa, a coordenada é [Território de vendas]. [grupo de região de vendas]. & [(hora do Pacífico)]. Este é o valor final do alias de conjunto [AliasSet].

Depois da iteração final da chamada de função Gerar externa, o valor do membro calculado é resolvido.

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Analysis Services
Palavras-chave: 
kbmt kbtshoot kbexpertiseadvanced kbsql2005as kbprb KB932871 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 932871  (http://support.microsoft.com/kb/932871/en-us/ )