Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Problema ao usar UPPER

Olá,

Resumindo o problema (use as cores como referência):

1 - Quando uso o UPPER no campo Mes (VERMELHO) meu calendário (campo, Mes_Ano, da TABELA2) some.

2 - Se eu NÃO usar o UPPER o calendário aparece.

3 - Eu preciso usar o UPPER no Mês pra passar pra caixa alta, mas provavelmente estou esquecendo de algo do IF da TABELA2, referente ao campo Mes_Ano


Não faz sentido algum, mas está acontecendo! Alguém ajuda?

Pra ser bem prático e direto ao assunto, segue o trecho do código abaixo.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

TABELA1:

LOAD 'X'                                                                                                AS Y,

//UPPER(@6)                                                                                        AS Mes,  //aqui

@6                                                                                                         AS Mes,

  LEFT(@11, INDEX(@11,' ',-1)-1)&' '&UPPER(SubField(@11,' ',-1))   AS Mes_A,

  DATE(Left(Right(FileName(),7),2) & '/' & right(Left(Right(FileName(),13),6),2) & '/' & Left(Right(FileName(),13),4)) AS DATA

...

))

WHERE LEN(REPLACE(TRIM(@6), '-', '')) > 0;

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

TABELA2:

LOAD Y,

  Mes,

  Mes_A,

  DATA,

  UPPER(MapSubString('Mapa',Lower(Produto))) as Produto,  //USO MAPPING NA PRIMEIRA ABA

  [Objetivo Referencia.*],

  [Realizado*],

  Saldo,

  Atingido,

  [Objetivo Referencia.*_A],

  [Realizado*_A],

  Saldo_A,

  Atingido_A,

  if (Mes='Dezembro' and Month(DATA)<>12, Date('01/'& ApplyMap('MapaMes', Mes)&'/'&(Year(DATA)-1)), Date('01/'& ApplyMap('MapaMes', Mes)&'/'&Year(DATA))) AS Mes_N,

  monthname(if(Mes='Dezembro' and Month(DATA)<>12, Date('01/'& ApplyMap('MapaMes', Mes)&'/'&(Year(DATA)-1)), Date('01/'& ApplyMap('MapaMes', Mes)&'/'&Year(DATA)))) AS Mes_Ano,

  year(if(Mes='Dezembro' and Month(DATA)<>12, Date('01/'& ApplyMap('MapaMes', Mes)&'/'&(Year(DATA)-1)), Date('01/'& ApplyMap('MapaMes', Mes)&'/'&Year(DATA)))) AS Ano

FROM

$(vPath3)ZE.qvd(qvd)

where len(Produto)>0;

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Obrigado

7 Replies
Clever_Anjos
Employee
Employee

Você está fazendo um upper() em uma tabela e espera que ela reflita em outra?

Na tabela1 não dá pra ver o FROM

Mas na tabela2 você está lendo do QVD, que não teve nenhum upper

Clever_Anjos
Employee
Employee

Talvez tenha que por o UPPER() aqui tambem

monthname(if(UPPER(Mes)='DEZEMBRO'

Not applicable
Author

Eu to fazendo um UPPER em um campo que é usado em outra tabela. Que consome esse campo....só não coloquei os STORES e os FROM porco conta de nao divulgar info interna da empresa....

Clever_Anjos
Employee
Employee

Nesse QVD abaixo o campo Mês está como?

FROM

$(vPath3)ZE.qvd(qvd)

Not applicable
Author

Apaguei os QVDs e fiz esse teste. Na verdade já tinha feito. Pra ilustrar melhor o problema:

Capturar.PNG

Isso acontece quando deixo o UPPER no Mes na primeira tabela, e uso ele pra formar o IF da segunda tabela.

Se eu tirar o UPPER, normaliza. Veja:

Capturar1.PNG

Clever_Anjos
Employee
Employee

Rodrigo, acredito que seja esse o problema, você deve estar confundindo os dados.

Reveja sua logica, já que não pode postar mais informações

Not applicable
Author


QVD aberto separado do QVW

Capturar2.PNG

Valores do campo no QVW do projeto

Capturar3.PNG