Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
williansilva
Contributor
Contributor

Campo calculado relacionado

Importei Duas Tabelas para o Qlik onde cada uma possui um campo que remete para o mês e ano de referencia. A TABELA1 apresenta esse campo no formato '201901' e a TABELA2 apresenta no formato '01JAN2019' . Após a importação criei um campo calculado na TABELA2 adaptando o formato desse campo, (não sei se utilizei a forma mais correta), a expressão utilizada foi a seguinte:
replace (replace (replace (replace (replace (replace (replace (replace (replace (replace (replace (replace (mid (Dt_Imob, 6,4) & mid (Dt_Imob, 3,3), 'JAN', '01') , 'FEB', '02'), 'MAR', '03'), 'APR', 04), 'MAY', '05'), 'JUN', '06'), 'JUL', '07 '),' AUG', '08'), 'SEP', '09'), 'OCT', '10'), 'NOV', '11'), 'DEC', '12')
O resultado esta ok, a TABELA2 agora tem um campo calculado exatamente igual ao campo nativo da TABELA1, porem, ao relacionar as Tabelas o resultado é vazio, como se não houvesse vínculos validos entre Elas. Tenho Duas Duvidas:

A Primeira é, existe uma forma mais eficiente de realizar a criação desse campo, talvez usando hum IF?
A Segunda, qual o problema nessa associação entre as tabelas? Seria Algum erro de formato entre os campos (string x int) e o que poderia ser feito para resolver?
Obrigado

Labels (1)
  • Other

1 Solution

Accepted Solutions
AngeloBaruffi
Partner - Contributor II
Partner - Contributor II

Possível mente o formato dos campos estava diferente. 

Para resolver o problema basta seguir os seguintes passos: 

Load
   Date(Date#(Data, 'YYYYMM'), 'DD/MM/YYYY') as Data
FROM Tabela1

Load 
   Date(Date#(Data, 'DDMMMYYYY'), 'DD/MM/YYYY') as Data
FROM Tabela2

 

Basicamente a estratégia é usar a função Date# para ler a string como data. Depois usar a função Date para definir o mesmo formato de visualização.

Atenção:
As datas da tabela um serão sempre no primeiro dia do mês. Você pode colocar a função MonthStart na segunda tabela para garantir sempre o match perfeito entre as chaves.

Para ajudar os usuários a encontrar respostas verificadas, não se esqueça de marcar uma resolução como correta

View solution in original post

1 Reply
AngeloBaruffi
Partner - Contributor II
Partner - Contributor II

Possível mente o formato dos campos estava diferente. 

Para resolver o problema basta seguir os seguintes passos: 

Load
   Date(Date#(Data, 'YYYYMM'), 'DD/MM/YYYY') as Data
FROM Tabela1

Load 
   Date(Date#(Data, 'DDMMMYYYY'), 'DD/MM/YYYY') as Data
FROM Tabela2

 

Basicamente a estratégia é usar a função Date# para ler a string como data. Depois usar a função Date para definir o mesmo formato de visualização.

Atenção:
As datas da tabela um serão sempre no primeiro dia do mês. Você pode colocar a função MonthStart na segunda tabela para garantir sempre o match perfeito entre as chaves.

Para ajudar os usuários a encontrar respostas verificadas, não se esqueça de marcar uma resolução como correta