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!
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
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
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