Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Jointure en fonction de la date

Bonjour,

Dans une source de données A j'ai un champs DATE.

Dans une source de données B j'ai deux champs date : DATE_DEBUT et DATE_FIN.

Dans le script, j'ai quelque chose qui ressemble à

association:

load DATE from A;

join(association)

load DATE_DEBUT,

     DATE_FIN

from B;

Je voudrais faire une jointure en fonction de la date lorsque DATE est inclu entre DATE_DEBUT et DATE_FIN.

J'ai essayé plusieurs méthodes, mais le plus souvent j'ai une erreur : champs DATE introuvable.

Quelqu'un a une astuce ? Merci d'avance.

2 Replies
antoinelaviron
Partner - Contributor III
Partner - Contributor III

Hello,

Il faut utiliser la fonction IntervalMatch.

Regarde ici : http://community.qlik.com/blogs/qlikviewdesignblog/2013/04/04/intervalmatch

Ton script deviendrait ça:

association:

load DATE from A;

Intervals:

load DATE_DEBUT,

     DATE_FIN

from B;

IntervalMatch:

IntervalMatch (DATE )

Load distinct DATE_DEBUT, DATE_FIN resident Intervals;


Antoine

pgrenier
Partner - Creator III
Partner - Creator III

Bonjour Quentin,

Il y a aussi une méthode étendue d'utilisation du IntervalMatch() dans l'éventualité ou un champ servant de clé serait à considérer, par exemple, si les données concernant plusieurs types d'événements étaient à segmenter d'un log global. La syntaxe demeure plus ou moins la même;

association:

LOAD ChampClé, DATE,

From A;

Intervals:

LOAD ChampClé, DATE_DEBUT, DATE_FIN

From B;

IntervalMatch:

IntervalMatch (DATE, ChampClé)

LOAD Distinct DATE_DEBUT, DATE_FIN, ChampClé

Resident Intervals;

Cordialement,

Philippe