ID do artigo: 950598 - Última revisão: quarta-feira, 16 de abril de 2008 - Revisão: 1.1

Descrição da propriedade de célula LANGUAGE no SQL Server 2005 Analysis Services

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.

Nesta página

Expandir tudo | Recolher tudo

Sumário

Microsoft SQL Server 2005 Analysis Services apresenta o LANGUAGE Propriedade além para a propriedade valor da célula e a propriedade da célula FORMAT_STRING da célula. No SQL Server 2005 Analysis Services, a propriedade da célula FORMATTED_VALUE é integrada às seguintes propriedades de célula:
  • VALOR
  • FORMAT_STRING
  • IDIOMA
A propriedade da célula LANGUAGE é muito útil quando você deseja exibir o símbolo de moeda para uma medida e a seqüência de formato da medida é definida como moeda.

Mais Informações

Como o SQL Server 2005 Analysis Services determina a propriedade da célula LANGUAGE para um objeto

Você pode especificar explicitamente a propriedade da célula LANGUAGE em objetos, como cubos ou dimensões. Se você não especificar a propriedade da célula LANGUAGE em um objeto, a propriedade da célula LANGUAGE é herdada do pai do objeto.

Se você não especificar a propriedade da célula LANGUAGE em um cubo, a propriedade da célula LANGUAGE do cubo é herdada do banco de dados que contém o cubo. Se você não especificar a propriedade da célula LANGUAGE no banco de dados, a propriedade da célula LANGUAGE é herdada do objeto do servidor.

Por exemplo, você tem um cubo que está localizado em uma versão em inglês (Estados Unidos) do SQL Server 2005 Analysis Services. Por padrão, o valor da propriedade de célula LANGUAGE do cubo é 1033. Quando você executa uma consulta MDX (Multidimensional Expressions), mas você não especificar a propriedade da célula LANGUAGE, a consulta MDX usa a propriedade de célula LANGUAGE do cubo em relação à qual você executa a consulta MDX.

No entanto, quando você executar o "exemplo 1" MDX consulta contra o cubo Adventure funciona do projeto de exemplo AdventureWorks Analysis Services Project Enterprise Edition, a saída da consulta é exibida como o símbolo Yuan chinês. Isso ocorre porque a propriedade da célula LANGUAGE explicitamente é especificada para 2052. 2052 é o identificador de localidade (LCID) para a localidade chinês - China .

exemplo 1
with member measures.A 
as [Measures].[Reseller Gross Profit], language=2052
member measures.B as measures.A
select {measures.A, measures.B } on 0
from [Adventure Works]
cell properties value, format_string, language, formatted_value
Observação AdventureWorks Analysis Services Project Enterprise Edition projeto de exemplo está incluído no projeto de banco de dados Analysis Services. Para baixar o projeto de banco de dados Analysis Services, visite o seguinte site da Microsoft:
http://www.codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=4004 (http://www.codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=4004)

Como usar scripts MDX para controlar a propriedade da célula LANGUAGE

Você pode usar scripts MDX em cubos para controlar a propriedade da célula LANGUAGE. Por exemplo, você pode usar um script MDX que se pareça com o script MDX "Sample 2".

exemplo 2
Scope([Reporting Currency].[Destination Currency Code].[Destination Currency Code].Members);
    language(this) = [Reporting Currency].[Currency LCID].membervalue;  
End Scope;
Além disso, você pode usar a conversão de moeda de "Sample 3" script MDX para converter um valor de medida de dólar norte-AMERICANO para outra moeda.

exemplo 3
 Scope ({ Measures.[Sales Price] });     
     Scope( Leaves([Time]), [Reporting Currency].[USD], Leaves([Destination Currency]));     
        Scope({ Measures.[Sales Price]});     
         This = [Reporting Currency].[USD] * Measures.[Exchange Rate];
         Non_Empty_Behavior(This) = Measures.[Sales Price];
        End Scope;    
     End Scope;      
     Scope( Leaves([Time]) , Except([Reporting Currency].[Destination Currency Code].[Destination Currency Code].Members, 
                {[Reporting Currency].[Destination Currency Code].[Destination Currency Code].[USD]}));     
         Scope( { Measures.[Sales Price]});    
         This = [Reporting Currency].[Destination Currency Code].[USD] /(Measures.[Exchange Rate], LinkMember([Reporting Currency].[Destination Currency Code].CurrentMember, [Destination Currency].[Destination Currency Code]));   
     Non_Empty_Behavior(This) = Measures.[Sales Price];
    End Scope;      
  End Scope; 
End Scope;
O script MDX "Sample 3" cria uma dimensão de moeda de relatório. Você pode usar esse script MDX para controlar a propriedade da célula LANGUAGE de células e a conversão de moeda de células com base no contexto de consulta. Por exemplo, usar "Sample 4" MDX consulta:

exemplo 4
SELECT  
    [Geography].[Continent].&[EUROPE] ON 0,
    [Measures].[Sales Price] ON 1
FROM 
    [MyCube] 
cell properties value, format_string, language, formatted_value
a consulta MDX de "Sample 4" gera uma célula que representa o preço de venda agregado para Europa. Porque você não especificar a propriedade da célula LANGUAGE nesta consulta MDX, a propriedade da célula LANGUAGE é herdada do membro padrão de moeda relatório dimensão. Se o valor da propriedade de célula padrão LANGUAGE da dimensão de moeda de relatório é 1033, o resultado numérico, a propriedade da célula LANGUAGE e o símbolo de moeda representam dólares americanos. Esse comportamento ocorre porque 1033 é a LCID para a localidade inglês - Estados Unidos .

Além disso, você pode atualizar a consulta MDX de "Sample 4" para exibir a saída em libras esterlinas (GBP). Para fazer isso, aplique uma fatia no membro relevante de moeda relatório dimensão. Por exemplo, você pode usar a seguinte consulta MDX "Sample 5".

exemplo 5
SELECT
    [Geography].[Continent].&[EUROPE] ON 0,
    [Measures].[Sales Price] ON 1
FROM [MyCube] 
WHERE 
    ( [Reporting Currency].[Destination Currency Code].[GBP] )
cell properties value, format_string, language, formatted_value
se você clicar duas vezes na célula que é retornada, o valor da propriedade LANGUAGE célula aparece como 2057. 2057 é a LCID para a localidade do Inglês - Reino Unido . Para exibir a saída em uma moeda específica, especifique a dimensão de moeda de relatório na cláusula SELECT ou na cláusula WHERE para forçar o script MDX do cubo entrem em vigor.

Como exibir a saída de um membro calculado em uma moeda específica

Se você desejar exibir a saída de um membro calculado em uma moeda específica, você deve especificar explicitamente a propriedade da célula LANGUAGE. A propriedade de célula de idioma para os membros calculados não é herdada do contexto de consulta. Se você reescrever a consulta MDX "Sample 5" para se parecer com o exemplo a seguir, você obter resultados diferentes.

exemplo 6
WITH MEMBER [Geography].[Continent].Calc AS 
    '(
        [Geography].[Continent].&[EUROPE] , 
        [Reporting Currency].[Destination Currency Code].[GBP]
        ) ' 
SELECT 
    [Geography].[Continent].Calc ON 0,
    [Measures].[Sales Price] ON 1
 FROM     [MyCube] 
cell properties value, format_string, language, formatted_value
a célula que retorna a consulta MDX de "Sample 6" tem o mesmo valor numérico como a célula que retorna a consulta MDX de "Sample 5". No entanto, a célula é exibida juntamente com um sinal de dólar americano ($). Se você clicar duas vezes na célula, você observe que o valor da propriedade LANGUAGE célula é 1033, mesmo que você esperava 2057.

Esse comportamento ocorre porque você não especificar a propriedade da célula LANGUAGE na definição do membro calculado. Portanto, a propriedade da célula LANGUAGE é herdada da propriedade padrão LANGUAGE célula da dimensão de moeda de relatório. Além disso, a propriedade de célula LANGUAGE padrão da dimensão de moeda de relatório é EUA dólares.

Se o script MDX "Sample 3" não existir, o SQL Server 2005 Analysis Services determinar a propriedade LANGUAGE célula a célula retornada com base na ordem dos seguintes objetos:
  • O idioma padrão para o cubo
  • O idioma padrão para o banco de dados
  • O idioma para o SQL Server 2005 Analysis Services
  • A localidade do sistema

O que considerar ao tentar especificar um idioma para os membros calculados

SQL Server 2005 Analysis Services pode determinar a conversão de moeda numérica real de membros calculados do contexto de consulta. No entanto, SQL Server 2005 Analysis Services não é possível determinar o valor da propriedade de célula LANGUAGE ou do símbolo da moeda para membros calculados do contexto de consulta.

Você deve especificar a propriedade da célula LANGUAGE se desejar obter um símbolo de moeda não padrão. Se você não especificar a propriedade da célula LANGUAGE, o valor numérico do valor da célula e o símbolo de moeda do valor da célula não pode ser correspondentes.

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Analysis Services
Palavras-chave: 
kbmt kbsql2005bi kbsql2005as kbexpertiseadvanced kbhowto kbinfo KB950598 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: 950598  (http://support.microsoft.com/kb/950598/en-us/ )