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

Problema com chaves

Bom dia, tenho duas tabelas que são ligadas pelo código do produto, porém existem os seguintes produtos : '001', '000001', '0000001'

e a chave esta relacionando os 3 como se fossem os mesmos produtos, algum sabe me dizer por que isso ocorre, pois diretamente no sql funciona normalmente. Qualquer duvida estou a disposição.

1 Solution

Accepted Solutions
nicolett_yuri

Marcos, o QlikView sempre tenta interpretar os campos e nesse caso, provavelmente ele esta interpretando como um campo numérico e por isso ele retira os zeros da esquerda

VALOR_ ORIGIGINAL, COMO O QLIKVIEW INTERPRETA

001,                              1

0000001,                        1

000000000000001,           1

O que você precisa fazer é forçar o QlikView a interpretar essa coluna como um texto, então no script, utilize a função Text() neste campo, por exemplo:

Tabela1:

LOAD

Text(COLUNA1) as COLUNA1,

COLUNA2

FROM Teste.qvd (qvd);

View solution in original post

8 Replies
nicolett_yuri

Marcos, o QlikView sempre tenta interpretar os campos e nesse caso, provavelmente ele esta interpretando como um campo numérico e por isso ele retira os zeros da esquerda

VALOR_ ORIGIGINAL, COMO O QLIKVIEW INTERPRETA

001,                              1

0000001,                        1

000000000000001,           1

O que você precisa fazer é forçar o QlikView a interpretar essa coluna como um texto, então no script, utilize a função Text() neste campo, por exemplo:

Tabela1:

LOAD

Text(COLUNA1) as COLUNA1,

COLUNA2

FROM Teste.qvd (qvd);

Not applicable
Author

Yuri, eu também havia pensado nisso, mas não funcionou, independente de utilizar o text ou não ele está retornando o mesmo código para os três, o estranho é que ao invés de retornar apenas 1 ele está retornando  000001.codigos.jpg

nicolett_yuri

Ele esta retornando 000001 para todos?

Pode disponibilizar o seu script?

Not applicable
Author

Sim, segue qvw em anexo.

Not applicable
Author

Bom dia, notei que o problema já vem na extração dos dados em sql, porém acontece apenas no qlikview, pois realizando a consulta diretamente no IDE Oracle o problema não ocorre.

Para conseguir fazer a extração correta dos dados tive que concatenar um traço no final do código, mas não entendi a lógica, pois não pode ser problema com espaço pois tentei utilizar o trim e não funcionou.

Segue como tive que fazer o script:

Teste:

load B1_FILIAL, B1_COD & '-'  as B1_COD , B1_DESC;

Sql

SELECT B1_COD AS B1_COD, B1_FILIAL,B1_DESC FROM SB1010

WHERE SB1010.D_E_L_E_T_ != '*';

Sem título.png

nicolett_yuri

O QlikView sempre vai interpretar esses valores como número, o ideal é sempre forçar o text(), a sua saída também é válida.

Not applicable
Author

Utilizei a função Text(), diretamente no extrator e funcionou, o que estava ocorrendo era que o qvd já estava trazendo os dados como número, por isso indiferente do que eu fizesse no tratamento não iria mudar em nada.

nicolett_yuri

Isso ae!

Sempre enfrento esse problema, principalmente com base TOTVS que é cheio desse tipo de campo