Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
alineclozel
Creator
Creator

Associer deux tables (un peu comme du géocodage)

Bonjour,

Je cherche à associer deux tables un peu comme du géocodage : dans l'une et l'autre j'ai un nom d'opération mais pas toujours écrit pareil donc je cherche un moyen d'associer ces deux champs dans un premier temps de manière la plus automatique possible et ensuite en corrigeant les incohérences.

Je ne sais même pas comment appeler la fonction si elle existe.

Merci de votre aide

Labels (1)
6 Replies
alexandros17
Partner - Champion III
Partner - Champion III

Make a Join between the two tables

Load * resident tab1;

join

Load * resident tab2;

In this way you have all the combinations.

Then you have the two original columns and try any correption

christophebrault
Specialist
Specialist

Bonjour,

Si ce n'est pas trop confidentiel, n'hésites pas à partager un qvw d'exemple ou des données de test afin que l'on comprenne mieux ton besoin.

Ou montre tes données de départ et ce à quoi tu veux aboutir.

Pour ma part je ne vois pas exactement ce que tu veux faire.

Inscrivez vous à ma Newletter Qlik
DoNotMissQlik- Connect with me on Linkedin
alineclozel
Creator
Creator
Author

Voilà un peu + d'explications :

J'ai une table (en fait une table SIG) qui liste mes logements sociaux par nom de programme : par exemple : "LA VENTOURESO" ou "BARBIERE (tour)"

J'ai une table issue de données détaillées que j'ai regroupé sur un champ où majoritairement on retrouve ces noms de programme : par exemple : VENTOURESO (sans le LA) ou La barbiére; sachant qu'en plus cette table n'est pas homogène (tout est pas en majuscule, il y a des accents, ...)

Je voudrais arriver à jointer ces 2 tables pour rattacher des données détaillées au point géographique de mon Atlas LLS (mais ça après pas de problème si je suis arrivée à jointer les champs ....

(une sorte de mappage sur des champs qui se ressemblent mais pas tout à fait !)

Est ce que c'est plus clair ?

Merci d'avance

Not applicable

Bonjour

pour rendre cohérent au maximum les chaînes de caractères j'utiliserais la fonction

lower ou upper pour tout mettre en minuscule ou majuscule

ainsi que les fonctions de transformation comme replace, ou match pour remplace les é et è par e, les  à par a

la fonction purgechar pour supprimer les caractères tels que blanc, ( ) , ; * % ....

Ex:

LOAD

Champ     as champ_original

lower(purgechar(champ, '(),/% ')     as champ_modifié,

autonumber(lower(purgechar(champ, '(),/% ') )    as %champ,    (le m^me en clé numérique)

toutes les fonctions sont décrites dans l'aide

bon courage

Christian

Not applicable

En complément de ce qu'a écrit Christian

Il te faut absolument identité des champs, sinon l'association ne se fera pas.

Si tu n'as pas beaucoup de transcodage à faire, tu peux toujours remplacer A par B en faisant:

1) lecture du table de transcodage (de n'importe quoi vers n'importe quoi)

MAPPING LOAD .... 2 champs seulement

tu peux donc stocker dans Excel ou autre (INLINE, table SQL) ce que tu as d'un côté, ce que tu veux de l'autre

2) Utilisation au cours du LOAD définitif de la fonction ApplyMap() qui va prendre le champ 1 pour le transformer en champ 2.

Et si tu as beaucoup de transcodage, la technique de Christian + celle-ci devraient t'aider.

Fabrice


Brice-SACCUCCI
Employee
Employee

Bonjour,

Si la table A contient les colonnes ID, A1, A2, etc.

Et la table B les colonnes ID, B1, B2, etc.

ID est la colonne commune, même si les données ne sont pas parfaitement égales.

LOAD

     ID      as ID_Commun,

     ID      as ID_A,

     A1,

     etc.

FROM

     A;

LOAD

     ID      as ID_Commun,

     ID      as ID_B,

     B1,

     etc.

FROM

     B;

Dans une feuille, ajouter des sélections pour les champs ID_A et ID_B.

En faisant "Sélectionner tout" sur ID_A, vous verrez grâce à l'associativité les valeurs non-associées dans ID_B, en gris. Vous pouvez exporter ces valeurs dans Excel ou faire un copier/coller des valeurs grises (bouton droit).

En faisant "Sélectionner tout" sur ID_B, vous verrez grâce à l'associativité les valeurs non-associées dans ID_A, en gris.

Vous pouvez exporter ces valeurs dans Excel ou faire un copier/coller des valeurs grises (bouton droit).

Ceci vous aidera à créer la table de mapping (transcodage) proposée dans les autres messages.

Brice