Partilhar via


LANGUAGE e FORMAT_STRING em FORMATED_VALUE

A propriedade FORMATTED_VALUE é criada com base nas interações das propriedades VALUE, FORMAT_STRING e LANGUAGE da célula. Este tópico explica como essas propriedades interagem para criar a propriedade FORMATTED_VALUE.

Propriedades VALUE, FORMAT_STRING, LANGUAGE

A tabela a seguir explica o que são essas propriedades, para ajudá-lo na preparação para o uso combinado delas.

  • VALUE
    O valor não formatado da célula.

  • FORMAT_STRING
    O modelo de formatação a ser aplicado ao valor da célula para gerar a propriedade FORMATTED_VALUE

  • LANGUAGE
    A especificação de localidade a ser aplicada junto com FORMAT_STRING para gerar uma versão localizada de FORMATTED_VALUE

FORMATTED_VALUE construída

A propriedade FORMATTED_VALUE é construída com o uso do valor da propriedade VALUE e a aplicação do modelo de formato especificado na propriedade FORMAT_STRING para esse valor. Além disso, sempre que o valor de formatação for um named formatting literal, a especificação da propriedade LANGUAGE modifica a saída de FORMAT_STRING para seguir o uso do idioma da formatação nomeada. Os literais de formatação nomeada são definidos de modo que possam ser localizados. Por exemplo, "General Date" é uma especificação que pode ser localizada, em oposição ao seguinte modelo "YYYY-MM-DD hh:nn:ss",, que declara que a data deve ser apresentada conforme o definido pelo modelo, independentemente da especificação de idioma.

Se houver um conflito entre o modelo FORMAT_STRING e a especificação LANGUAGE, FORMAT_STRING substituirá LANGUAGE. Por exemplo, se FORMAT_STRING="$ #0" e LANGUAGE=1034 (Spain), e VALUE=123.456, D_VALUE="$ 123" em vez de FORMATTED_VALUE="€ 123", o formato esperado estará em Euros, porque o valor do modelo do formato substitui o idioma especificado.

Exemplos

Os exemplos a seguir mostram a saída obtida quando LANGUAGE é usado junto com FORMAT_STRING.

O primeiro exemplo explica os valores numéricos da formatação; o segundo exemplo explica os valores de data e hora da formatação.

Para cada exemplo, o código MDX é atribuído.

with

member measures.A as 5040, FORMAT_STRING="Currency"

member measures.B as measures.A, LANGUAGE=1034

member measures.C as measures.A, LANGUAGE=1034 , FORMAT_STRING="$#,##0.00"

member measures.D as measures.A, FORMAT_STRING="Scientific"

member measures.E as measures.A, LANGUAGE=1034 , FORMAT_STRING="Scientific"

member measures.F as 0.5040, FORMAT_STRING="Percent"

member measures.G as measures.F, LANGUAGE=1034

member measures.H as 0, LANGUAGE=1034 , FORMAT_STRING="Yes/No"

member measures.I as 59, LANGUAGE=1034 , FORMAT_STRING="Yes/No"

member measures.J as 0, LANGUAGE=1034 , FORMAT_STRING="ON/OFF"

member measures.K as -312, LANGUAGE=1034 , FORMAT_STRING="ON/OFF"

Select {measures.A, measures.B, measures.C, measures.D, measures.E, measures.F, measures.G, measures.H, measures.I, measures.J, measures.K} on 0

from [Adventure Works]

cell properties VALUE, FORMAT_STRING, LANGUAGE, FORMATTED_VALUE

Os resultados, transpostos, quando a consulta MDX acima estava sendo executada com o uso de SQL Server Management Studio em um servidor e cliente com a localidade 1033, da seguinte forma:

Membro

FORMATTED_VALUE

Explicação

A

$5,040.00

FORMAT_STRING é definido como Currency e LANGUAGE é 1033, informações herdadas do valor de localidade do sistema

B

€5.040,00

FORMAT_STRING é definido como Currency (herdado de A) e LANGUAGE é definido explicitamente como 1034 (Spain), daí o sinal de Euro, o separador decimal e de milhar diferente.

C

$5.040,00

FORMAT_STRING é definido como $#,##0.00, uma substituição para Moeda, de A, e LANGUAGE é definido explicitamente para 1034 (Spain). Como a propriedade FORMAT_STRING define explicitamente o símbolo de moeda como $, FORMATTED_VALUE é apresentado com o sinal $. No entanto, como . (ponto) e , (vírgula) são espaços reservados para separadores de decimal e de milhar, a especificação de idioma os afeta gerando uma saída localizada para separadores decimal e de milhar.

D

5.04E+03

FORMAT_STRING é definido como Scientific e LANGUAGE é definido como 1033, herdados do valor de localidade do sistema, por isso o . (ponto) é o separador decimal.

E

5,04E+03

FORMAT_STRING é definido como Scientific e LANGUAGE é definido explicitamente como 1034,, por isso a , (vírgula) é o separador decimal.

T

50.40%

FORMAT_STRING é definido como Percent e LANGUAGE é definido como 1033, herdados do valor de localidade do sistema, por isso o . (ponto) é o separador decimal.

Observe que VALUE foi alterado de 5040 para 0.5040

G

50,40%

FORMAT_STRING é definido como Percent, herdado de F, e LANGUAGE é definido explicitamente como 1034, por isso a , (vírgula) é o separador decimal.

Observe que VALUE foi herdado do valor F.

H

Não

FORMAT_STRING é definido como YES/NO, VALUE é definido como 0 e LANGUAGE é definido explicitamente como 1034; como não há nenhuma diferença entre English NO e Spanish NO, o usuário não vê diferença em FORMATTED_VALUE.

I

SI

FORMAT_STRING é definido como YES/NO, VALUE é definido como 59 e LANGUAGE é definido explicitamente como 1034; conforme definido para a formatação YES/NO, qualquer valor diferente de zero (0) é um YES e como o idioma é definido como Spanish, FORMATTED_VALUE é SI.

J

Desativado

FORMAT_STRING é definido como ON/OFF, VALUE é definido como 0 e LANGUAGE é definido explicitamente como 1034; conforme definido para a formatação ON/OFF, qualquer valor equivalente a zero (0) é um OFF e, como o idioma está definido para Spanish, FORMATTED_VALUE é Desativado.

K

Ativado

FORMAT_STRING é definido como ON/OFF, VALUE é definido como -312 e LANGUAGE é definido explicitamente como 1034; conforme definido para a formatação ON/OFF, qualquer valor diferente de zero (0) é um ON e como o idioma é definido como Spanish, FORMATTED_VALUE é Ativado.

with

member measures.A as 'CDate("1959-03-12 06:30")'

member measures.B as measures.A, FORMAT_STRING="Long Date"

member measures.C as measures.A, LANGUAGE=1034 , FORMAT_STRING="General Date"

member measures.D as measures.A, LANGUAGE=1034, FORMAT_STRING="Long Date"

member measures.E as measures.A, LANGUAGE=1041 , FORMAT_STRING="General Date"

member measures.F as measures.A, LANGUAGE=1041 , FORMAT_STRING="Long Date"

member measures.G as measures.A, FORMAT_STRING="Long Time"

member measures.H as measures.A, FORMAT_STRING="Short Time"

member measures.I as measures.A, LANGUAGE=1034 , FORMAT_STRING="Long Time"

member measures.J as measures.A, LANGUAGE=1034 , FORMAT_STRING="Short Time"

member measures.K as measures.A, LANGUAGE=1041 , FORMAT_STRING="Long Time"

member measures.L as measures.A, LANGUAGE=1041 , FORMAT_STRING="Short Time"

Select {measures.A, measures.B, measures.C, measures.D, measures.E, measures.F

, measures.G, measures.H, measures.I, measures.J, measures.K, measures.L} on 0

from [Adventure Works]

cell properties VALUE, FORMAT_STRING, LANGUAGE, FORMATTED_VALUE

Os resultados, transpostos, quando a consulta MDX acima estava sendo executada com o uso de SQL Server Management Studio em um servidor e cliente com a localidade 1033, da seguinte forma:

Membro

FORMATTED_VALUE

Explicação

A

3/12/1959 6:30:00 AM

FORMAT_STRING é definido implicitamente como General Date pela expressão CDate() e LANGUAGE é definido como 1033 (English), herdado do valor de localidade do sistema.

B

Quinta-feira, 12 de março de 1959

FORMAT_STRING é definido explicitamente como Long Date e LANGUAGE é 1033 (English), herdado do valor de localidade do sistema.

C

12/03/1959 6:30:00

FORMAT_STRING é definido explicitamente para General Date e LANGUAGE é explicitamente 1034 (Spanish).

Observe que o mês e o dia são alternados quando comparados com o estilo de formatação dos EUA

D

jueves, 12 de marzo de 1959

FORMAT_STRING é definido explicitamente para Long Date e LANGUAGE é explicitamente 1034 (Spanish).

Observe que o mês e o dia da semana estão em espanhol

E

1959/03/12 6:30:00

FORMAT_STRING é definido explicitamente para General Date e LANGUAGE é explicitamente 1041 (Japanese).

Observe que a data agora está formatada como Ano/Mês/Dia Hora:Minutos:Segundos

F

1959年3月12日

FORMAT_STRING é definido explicitamente para Long Date e LANGUAGE é explicitamente 1041 (Japanese).

G

6:30:00 AM

FORMAT_STRING é definido explicitamente como Long Time e LANGUAGE é 1033 (English), herdado do valor de localidade do sistema.

H

06:30

FORMAT_STRING é definido explicitamente como Short Time e LANGUAGE é 1033 (English), herdado do valor de localidade do sistema.

I

6:30:00

FORMAT_STRING é definido explicitamente para Long Time e LANGUAGE é explicitamente definido como 1034 (Spanish).

J

06:30

FORMAT_STRING é definido explicitamente para Short Time e LANGUAGE é definido explicitamente como 1034 (Spanish).

K

6:30:00

FORMAT_STRING é definido explicitamente para Long Time e LANGUAGE é definido explicitamente como 1041 (Japanese).

G

06:30

FORMAT_STRING é definido explicitamente para Short Time e LANGUAGE é explicitamente 1041 (Japanese).