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 | Reduzir tudo

Sumário

Microsoft SQL Server 2005 Analysis Services apresenta o LANGUAGE propriedade juntamente com a propriedade de célula de valor e a propriedade de célula FORMAT_STRING da célula. Em SQL Server 2005 Analysis Services, a propriedade de célula FORMATTED_VALUE é construída nas propriedades da célula seguinte:
  • VALOR
  • FORMAT_STRING
  • IDIOMA
A propriedade de célula LANGUAGE é muito útil quando pretende apresentar o símbolo monetário para uma medida e a cadeia de formato da medida é definida como moeda.

Mais Informação

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

Pode especificar explicitamente a propriedade de célula LANGUAGE em objectos, tais como as dimensões ou cubos. Se não especificar a propriedade de célula LANGUAGE num objecto, a propriedade de célula LANGUAGE é herdada da pasta principal do objecto.

Se não especificar a propriedade de célula LANGUAGE num cubo, a propriedade de célula LANGUAGE do cubo é herdada da base de dados que contém o cubo. Se não especificar a propriedade de célula LANGUAGE na base de dados, a propriedade de célula LANGUAGE é herdada do objecto servidor.

Por exemplo, ter um cubo que está localizado numa versão inglesa (E.u.a.) do SQL Server 2005 Analysis Services. Por predefinição, o valor da propriedade de célula LANGUAGE do cubo é 1033. Quando executa uma consulta de MDX (Multidimensional Expressions) mas não especificar a propriedade de célula LANGUAGE, a consulta MDX utiliza a propriedade de célula LANGUAGE do cubo em que executa a consulta MDX.

No entanto, quando executar o "exemplo 1" de MDX consulta em relação ao cubo Adventure funciona do projecto de exemplo AdventureWorks Analysis Services Project Enterprise Edition, o resultado da consulta é apresentado como símbolo Yuan chinês. Isto acontece porque a propriedade de célula LANGUAGE é especificada explicitamente para 2052. 2052 é o identificador local (LCID) para a região de 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
Nota AdventureWorks Analysis Services Project Enterprise Edition projecto de exemplo incluído no projecto de base de dados do Analysis Services. Para transferir o projecto de base de dados do Analysis Services, visite o seguinte Web site da Microsoft:
http://www.codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=4004 (http://www.codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=4004)

Como utilizar scripts MDX para controlar a propriedade de célula LANGUAGE

Pode utilizar scripts MDX em cubos para controlar a propriedade de célula LANGUAGE. Por exemplo, pode utilizar um script MDX semelhante 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, pode utilizar a conversão de moeda "Sample 3" script MDX para converter um valor de medida de dólar 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 divisa. Pode utilizar este script MDX para controlar a propriedade de célula LANGUAGE de células e a conversão de moeda de células com base no contexto de consulta. Por exemplo, utilize "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 "Sample 4" gera uma célula que representa o preço de venda agregado para a Europa. Porque não especificar a propriedade de célula LANGUAGE nesta consulta de MDX, a propriedade de célula LANGUAGE é herdada do membro predefinido da divisa dimensão. Se o valor da propriedade predefinida LANGUAGE célula da dimensão divisa 1033, o resultado numérico, a propriedade de célula LANGUAGE e o símbolo monetário representam americanos. Este comportamento ocorre porque 1033 é o LCID para o idioma inglês - Estados Unidos .

Além disso, pode actualizar a consulta MDX "Sample 4" para apresentar o resultado em libras esterlinas (GBP). Para efectuar este procedimento, aplicar um sector o membro relevante da divisa dimensão. Por exemplo, utilize 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 fizer duplo clique na célula que é devolvida, o valor da propriedade de célula LANGUAGE aparece como 2057. 2057 é o LCID para o idioma inglês - Reino Unido . Para visualizar a saída numa determinada divisa, tem de especificar a dimensão de divisa na cláusula SELECT ou na cláusula WHERE para forçar o script MDX do cubo entrem em vigor.

Como apresentar o resultado de um membro calculado numa divisa específica

Se pretender visualizar a saída de um membro calculado numa divisa específica, tem de especificar explicitamente a propriedade de célula LANGUAGE. A propriedade de célula LANGAUGE para membros calculados não é herdada do contexto de consulta. Se rescrever a consulta MDX "Sample 5" para assemelhar-se o exemplo seguinte, 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 devolve a consulta MDX "Sample 6" tem o mesmo valor numérico da célula que devolve a consulta MDX "Sample 5". No entanto, a célula é apresentada em conjunto com dos Estados Unidos cifrão ($). Se fizer duplo clique na célula, repare que o valor da propriedade de célula LANGUAGE é 1033, mesmo que o esperado 2057.

Este comportamento ocorre porque não especificou a propriedade de célula LANGUAGE na definição do membro calculado. Por conseguinte, a propriedade de célula LANGUAGE é herdada da propriedade predefinida LANGUAGE célula da dimensão divisa. Além disso, a propriedade de célula LANGUAGE predefinida da dimensão divisa é dos e.u.a. dólares.

Se o script MDX "Sample 3" não existe, o SQL Server 2005 Analysis Services determine a propriedade de célula LANGUAGE da célula devolvida com base na ordem dos seguintes objectos:
  • O idioma predefinido para o cubo
  • O idioma predefinido da base de dados
  • O idioma para o SQL Server 2005 Analysis Services
  • A região do sistema

O que deve considerar quando tentar especificar uma linguagem para membros calculados

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

Tem de especificar a propriedade de célula LANGUAGE se pretender obter um símbolo de moeda não predefinidas. Se não especificar a propriedade de célula LANGUAGE, o valor numérico do valor da célula e o símbolo monetário do valor da célula poderão não corresponder.

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 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: 950598  (http://support.microsoft.com/kb/950598/en-us/ )