Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
rbarbosa
New Contributor III

Chave contida em um intervalo

Bom dia Senhores, estou modelando uma aplicação que tem com funcionalidade apresentar uma tabela onde uma das colunas é o valor de reajuste realizados no contratos, porém com isso surgiu uma dificuldade, são muitos contratos e o sistema cadastra esses reajustes em intervalos, por exemplo:

Rejuste - 1

Contrato Inicial - A

Contrato Final - J

Com isso não consegui imaginar uma maneira de relacionar a chave de contratos com a chave de reajustes, buscar no intervalo sabe ?

Alguém já fez algo parecido ?

Tags (1)
1 Solution

Accepted Solutions

Re: Chave contida em um intervalo

Rodolfo, da uma pesquisada na função IntervalMatch, ele trabalha com o JOIN dentro de intervalos.

Exemplo de código do IntervalMatch

Grade:
LOAD * INLINE [
Min,Max,Grade
0,34,E
35,40,D
40,60,C
60,80,B
80,100,A
];
Notas:
LOAD * INLINE [
Nota,Aluno
30,Yuri
50,Edson
99,Alan
10,Geraldo
93,Henrique
];
LEFT JOIN
IntervalMatch(Nota)
LOAD
Min, //Primeiro o menor
Max  //depois o maior
RESIDENT Grade;
3 Replies

Re: Chave contida em um intervalo

Rodolfo, da uma pesquisada na função IntervalMatch, ele trabalha com o JOIN dentro de intervalos.

Exemplo de código do IntervalMatch

Grade:
LOAD * INLINE [
Min,Max,Grade
0,34,E
35,40,D
40,60,C
60,80,B
80,100,A
];
Notas:
LOAD * INLINE [
Nota,Aluno
30,Yuri
50,Edson
99,Alan
10,Geraldo
93,Henrique
];
LEFT JOIN
IntervalMatch(Nota)
LOAD
Min, //Primeiro o menor
Max  //depois o maior
RESIDENT Grade;
rbarbosa
New Contributor III

Re: Chave contida em um intervalo

Boa tarde Yuri, consegui chegar em um resultado muito próximo do que preciso:

O script com base no seu ficou assim:

Reajuste:

LOAD NRREAJUSTE,

    NRCONTRATO_INI,

    NRCONTRATO_FIM,

    NRPERIODO_VENCTO_REAJUSTE,

    NRPERIODO_VIGENCIA_REAJUSTE,

    NRPERIODO_PROXIMO_REAJUSTE,

    CDSITUACAO_REAJUSTE,

    VLINDICE_MENSALIDADE,

    VLINDICE_INSCRICAO  

FROM

[...\REAJUSTE.qvd]

(qvd);

//O QVD Carregado abaixo trás uma relação entre o reajuste mais recente e o contrato referente a ele.

Contratos:

LOAD NRREAJUSTE,

    NRCONTRATO

FROM

[...\\REAJUSTE_CONTRATO.qvd]

(qvd);

LEFT JOIN

IntervalMatch(NRCONTRATO)

LOAD

    NRCONTRATO_INI, //Primeiro o menor - No meu caso contrato inicial

    NRCONTRATO_FIM  //depois o maior  -No meu caso contrato final

RESIDENT Reajuste;

Porém parece que ele pula uma linha, ou deixa um relacionamento vazio para cada contrato

print qlik brasil.jpg

Re: Chave contida em um intervalo

Rodolfo, a primeira tabela que você carregar coloca somente as colunas: NRREAJUSTE, NRCONTRATO_INI e NRCONTRATO_FIM. Dessa forma:

Reajuste:

LOAD

    DISTINCT

    NRREAJUSTE,

    NRCONTRATO_INI,

    NRCONTRATO_FIM

FROM

[\\10.0.8.35\PLanner\Aplicações\QVD\Transformação\Analise Comercial\REAJUSTE.qvd]

(qvd);