Qlik Community

Community Corner

Discussion board for questions about the Qlik Community Platform as well as general discussions and even some fun. This is for both new and longtime community members. Everyone is welcome!

Announcements
IMPORTANT security patches for GeoAnalytics Server available to download: READ DETAILS
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
Partner

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
Partner

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