Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
jeanlipes
Not applicable

Formatar String

Bom dia Pessoal,

Gostaria de utilizar a primeira letra de cada mês maiúscula, só que estou utilizando o month(data) para obter o mês, qual função utilizo para transformar apenas a primeira letra maiúscula?

Tags (1)
1 Solution

Accepted Solutions
rphpacheco
Not applicable

Re: Formatar String

Tente:

Capitalize(Month(DAT_INICIO_PERIODO)) AS PP_DAT_MES_PERIODO

Abs.

5 Replies
joffremota
Not applicable

Re: Formatar String

Bom dia, Jean.

Acredito que para isso basta alterar a linha do cabeçalho que declara os meses do ano.

De:

SET MonthNames='jan;fev;mar;abr;mai;jun;jul;ago;set;out;nov;dez';

Para

SET MonthNames='Jan;Fev;Mar;Abr;Mai;Jun;Jul;Ago;Set;Out;NovSmiley Very Happyez';

Atenciosamente,

Joffre Mota

jeanlipes
Not applicable

Re: Formatar String

Estou obtendo os meses de uma tabela, não posso informar na mão, pois depende o ano de vendas ele exclui alguns, eu teria que fazer um tratamento após obter o valor na tabela abaixo:

luizclaudio
Not applicable

Re: Formatar String

tente algo como

Upper(Left(Month(DAT_INICIO_PERIODO),1)) & Right(MONTH(DAT_INICIO_PERIODO),Len(Month(DAT_INICIO_PERIODO)-1)) AS PP_DAT_MES_PERIODO

Luiz Cláudio

rphpacheco
Not applicable

Re: Formatar String

Tente:

Capitalize(Month(DAT_INICIO_PERIODO)) AS PP_DAT_MES_PERIODO

Abs.

rphpacheco
Not applicable

Re: Formatar String

Jean. As três formas funcionam, mas vale lembrar que na maioria dos casos trabalhamos no QlikView com um número alto de registros.

Sendo assim, a solução mais adequada seria a do Joffre, pois implica apenas em setar o padrão de nomenclatura da variável na utilização da função Month().

A solução apresentada pelo colega Luiz funciona perfeitamente. Agora, dependendo da aplicação e do número de registros, pode-se perder tempo de processamento e memória com uma função que fraciona o dado para uma transformação.

Por outro lado, tem também a função Capitalize() que apenas deixa a primeira letra de cada registro em caixa alta, ou seja, é uma função nativa do Qlik e por isso ganha-se em performance comparada a solução anterior.

É apenas uma questão de melhores práticas... Todas as três formas funcionam.