Skip to main content

Francophones

Announcements
QlikWorld 2023, a live, in-person thrill ride. April 17 - 20, 2023, in Las Vegas! REGISTER TODAY
cancel
Showing results for 
Search instead for 
Did you mean: 
ericamadei
Contributor
Contributor

Rechercher valeurs sans correspondances entre deux tables

Bonjour,

J'ai deux tables.

L'une contient l'ensemble du personnel de la société

L'autre contient le personnel inscrit à l'association sportive

Les deux tables sont liées par le nom de famille des personnes

Je cherche à connaître les personnes non inscrite à l'association sportive en retrouvant les valeur de la table 1 (Annuaire) que je ne retrouve pas dans la table 2 (Association sportive).

Merci beaucoup.

4 Replies
aurelieperrin
Enthusiast
Enthusiast

Bonjour,

Vous pouvez utiliser l'expression not exists(). Par contre les champs doivent avoir un libellé différent.

Par exemple :

PersonneNonInscrit:

Load

     Nom

Resident Annuaire

Where not exists(NomInscrit, Nom);

martinien
Partner - Contributor III
Partner - Contributor III

Bonjour,

Dans Qlikview, on ne peut pas sélectionner les valeurs nulles; identifier les valeurs nulles dans le script est donc une bonne pratique, qui permet ensuite de travailler sur ces valeurs lors de l'analyse.

Voici une méthode simple possible:

-Charger en premier la table avec le personnel inscrit dans l'association sportive

-Lors du chargement de la table de l'ensemble du personnel, ajouter un champs grâce à la fonction Exists, qui permet de savoir si une valeur existe dans un champ déjà chargé. Cela donne une formule du type:

if(Exists([Nom de famille],[Nom de famille salarié]), 'Oui','Non') as [Salarié inscrit dans l'association ?]

Il ne vous restera plus qu'a filtrer sur ce champ dans votre application.

Martin

sfatoux72
Partner - Specialist
Partner - Specialist

‌Le nom de famille comme lien entre vos 2 tables, c’est pas génial, la probabilité d’avoir 2 personnes différentes avec le même nom de famille n’est pas négligeable.

tu peux ajouter le code ci-dessous après le chargement de tes 2 tables pour avoir un flag te donnant cette information :

Left Join (Annuaire)

LOAD NomFamille ,

1 as EstInscritAssociation_tmp

Resident Association ;

Left Join (Annuaire)

LOAD NomFamille ,

if( EstInscritAssociation_tmp = 1, 1, 0 ) as EstInscritAssociation

Resident Annuaire ;

Drop field EstInscritAssociation_tmp;

ericamadei
Contributor
Contributor
Author

Bonjour,

Déjà, un grand merci à tous. Je vois que la communauté Qlik est très réactive et c'est très agréable !

3 réponses et donc 3 pistes de travail.

Je rejoins tout juste la communauté Qlik et tout ceci me paraît encore très compliqué mais je vais creuser !

Qui n'essaye pas, ne grandis pas !

Pas impossible que je revienne vers vous. Déjà voir à quel endroit je peux écrire toutes ces idées de scripts.

Merci encore à vous tous.