Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Comment lier deux tables dans Qlikview, avec des champs qui ne sont pas identiques mais dont on retrouve le contenu d'un champ de la première table, dans une chaîne de caractères de la deuxième.
Je m'explique :
Table 1 :
Code promo Réf Promo
Promo1 2017-12
Table 2
Code promo
Promo0,Promo1,Promo2
Je veux que les deux tables soient liées pour les données de la table 1 soient associées à la table 2.
Merci de votre aide.
Anne-Flore
Il faut ajouter une table qui fera le lien entre tes 2 tables
Il faut commencer par differencier les 2 champs. Renomme celui de la table 2 en Liste Code Promo.
Puis créé la table de lien
Table1 :
CodePromo RéfPromo
Promo1 2017-12
Table2
ListeCodePromo
Promo0,Promo1,Promo2
TableLien :
Load
ListeCodePromo,
Trim(SubField(ListeCodePromo, ',')) as CodePromo
Resident Table2;
Bonjour,
c'est possible mais il faut d'abord essayer de décrire le résultat souhaité.
avant de faire le right join sur la table2, la ligne décrite en haut, tu veux la diviser en 3 lignes comme ceci:
Table2:
Code Promo
Promo0
Promo1
Promo2
aprés le right join tu aura ceci:
Table2:
Code Promo, Réf promo
Promo0, ...
Promo1, 2017-12
Promo2, ...
Bonjour,
Je peux le faire avec subfield mais le problème c'est que ça va démultiplier les lignes de ma table 2 et après j'ai une erreur internal inconstancy.
En fait, le problème vient du fait que je peux avoir plusieurs promotions qui s'appliquent à une même commande et donc dans ce cas j'obtient un code promo pour la commande qui est la concaténation des deux codes promos (Promo1,Promo2). Or chaque code promo est lié à une promotion distincte et c'est à cette table des promotions que je veux lier ma commande.
N'y a t il pas un moyen de lier les tables autrement ?
Anne-Flore
Ok donc regarde la réponse de Tresesco dans ce thread:
ça devrait faire l'affaire.
tiens nous au courant
Il faut ajouter une table qui fera le lien entre tes 2 tables
Il faut commencer par differencier les 2 champs. Renomme celui de la table 2 en Liste Code Promo.
Puis créé la table de lien
Table1 :
CodePromo RéfPromo
Promo1 2017-12
Table2
ListeCodePromo
Promo0,Promo1,Promo2
TableLien :
Load
ListeCodePromo,
Trim(SubField(ListeCodePromo, ',')) as CodePromo
Resident Table2;
Bonjour,
Cette solution fonctionne et ça me parait plus simple que la première solution proposée. Merci à tous les deux.
Bonne journée,
Anne-Flore