Qlik Community

Groupe des Utilisateurs Francophones

Vous êtes francophone? Ce groupe est pour vous. Venez découvrir comment démarrer avec Qlik Sense et QlikView, poser vos questions et partager vos tutos et astuces avec les membres de notre communauté.

Highlighted
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.

Tags (1)
2 Replies
antoinelaviron
New Contributor III

Re: Jointure en fonction de la date

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
Contributor III

Re: Jointure en fonction de la date

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