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

Comparaison entre deux tables

Bonjour,

j'ai deux tables et je veux faire une comparaison entre les deux tables pour savoir les valeurs qui différent.

Table1  contient 4 champs:

rubrique    sous-rubrique    sous-rubrique-1    sous-rubrique-2

Table2  contient 6 champs:

catégorie     sous-catégorie       rubrique    sous-rubrique    sous-rubrique-1    sous-rubrique-2

afin de connaitre quel sont les valeurs de rubrique, sous-rubrique, sous-rubrique-1, sous-rubrique-2 qui différent j'ai pensé a crée une clé de concaténation des 4 champs  et après faire un join.

Qu'en pensez vous?

Merci

4 Replies
vinieme12
Champion III
Champion III

Use Qualify()

See this post on how to use it

Do you Qualify?- How to use QUALIFY statement

Vineeth Pujari
If a post helps to resolve your issue, please accept it as a Solution.
mambi
Creator III
Creator III

Bonjour,

pour les clés de concaténation, c'est faisable avec un if (exists....)  mais tu risques de te retrouver avec plusieurs clés synthétiques ...

tu peux faire ça aussi  pour contourner le problème  :

exemple

T1:

LOAD * INLINE [

    catégorie ,    sous-catégorie ,rubrique, sous-rubrique, sous-rubrique-1, sous-rubrique-2

    C1, C12, A, A11, A12, A13

    C2, C22, B, B1, B12, B13

    C3, C31, A, A21, A22, A23

    C4, C41, D, D11, D12, D13

];

T2:

Load *, '' as catégorie, '' as [sous-catégorie] ;

LOAD * INLINE [

    rubrique, sous-rubrique, sous-rubrique-1, sous-rubrique-2

    A, A11, A12, A13

    B, B1, B12, B13

    A, A21, A22, A23

];

pour avoir une seule table et ensuite faire un count (distinct...) dans un graphique pour connaitre les differences ...

Not applicable
Author

but how can i use the fields  in my script  like  Table1.sous-rubrique-1 ?

sfatoux72
Partner - Specialist
Partner - Specialist

Salut,

Ajoute un indicateur dans chacune de tes tables (inTable1, inTable2) et joint tes 2 table avec un outer join. Pour faire une jointure il est nécessaire d'avoir au moins un champ en commun pour servir de clé de jointure, il peut très bien en avoir plusieurs, ils vont dans ce cas tous servir de clés de jointure.

Table1:

LOAD

   *,

   1 as inTable1

INLINE [

    catégorie ,  sous-catégorie ,rubrique, sous-rubrique, sous-rubrique-1, sous-rubrique-2

    C1, C12, A, A11, A12, A13

    C2, C22, B, B1, B12, B13

    C3, C31, A, A21, A22, A23

    C4, C41, D, D11, D12, D13

];

Outer join (Table1)

Load

   *,

   1 as inTable2

INLINE [

    rubrique, sous-rubrique, sous-rubrique-1, sous-rubrique-2

    A, A11, A12, A13

    B, B1, B12, B13

    A, A21, A22, A23

    E, E11, E12, E13

];

Tu pourras alors facilement identifier les lignes existantes dans une seul table ou dans les 2 tables :

Community_1252054.png