Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde, pessoal preciso de ajuda com esse modelo de dados. Tenho dois QVDs nesse formato. Ambos são QVDs com milhões de linhas ( a tabela de afastamentos é um pouco menor mas com mais de um milhão de linhas). Preciso identificar casos em o CPF encontra-se em uma escala de trabalho em uma data que o mesmo estava em afastamento.
Eu consegui fazer por expressão no painel com IF. Porém como as tabelas são muito grandes, ficou muito pesado e está dando Tempo de Cálculo Ultrapassou limite. Dessa forma que fazer em um Transform. Alguém tem alguma sugestão sobre posso posso conseguir fazer um inner join entre essas duas tabelas de forma que eu consiga obter como resultado final o cpf, data inicial da escala, data final da escala, data inicial de afastamento e data final de afastamento.
Exemplo de dado que deveria existir no qvd final: cpf1, data inicio escala = 15-06-2021, data fim escala = 16-06-2021 e na tabela 2 - cpf1, data inicio afastamento 01-06-2021, data fim afastamento 15-06-2021.
Exemplo de dado que não deveria existir no qvd final: cpf2, data inicio escala = 15-06-2021, data fim escala = 16-06-2021 e na tabela 2 - cpf2, data inicio afastamento 18-06-2021, data fim afastamento 30-06-2021.
Agradeço a colaboração.
Olá Wagner,
Apesar de ainda não ter testado, eu acho que a função Intervalmatch pode te ajudar no que precisa.
Dê uma olhada e veja se é isso: https://help.qlik.com/pt-BR/sense/February2021/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPref...
Obrigado pela resposta, eu tentei utilizar o intervalmatch criando vinculando com uma terceira tabela de calendario contendo data, de forma que posteriormente fosse possível vincular as duas tabelas finais a partir de cpf e data, mas não rodou o script. Acredito que devido ao tamanho das tabelas. Tem alguma forma de utilizar o intervalmatch sem essa terceira tabela? é possível comparar dois períodos? No tutorial mostra somente passando uma data para comparar com um intervalo.
Entendi..
É cardinalidade 1:1 / existe mais de um registro por cpf?
Se sim, seria viável uma tabela somente com CPFs e fazer um left join com as duas, ficando com as 5 colunas em uma base?
Assim uma condicional de where depois disso seria mais fácil.