vérifier si des données existent dans une autre tableSalut, j'ai 2 tableaux A et B, chacun a une colonne "email" et "id". Je souhaite ajouter une nouvelle colonne dans le tableau A, si cette ligne contient "le même e-mail OU le même identifiant" dans le tableau B, alors "OUI", si non, alors vide. Quelqu'un pourrait-il m'aider à écrire ce script?
Merci.
Automatisation et scriptÉtudes de consommation et de marchéPersonnalisation de masseIngénierie de la qualité et des procédésRe : vérifier si des données existent dans une autre tableÇa marche! Merci beaucoup Brady !Re : vérifier si des données existent dans une autre tableOui, vous pouvez. Je pense que la façon la plus simple de le faire est de restreindre ce que vous mettez dans les listes en premier lieu, en remplissant les listes avec uniquement les valeurs qui se sont produites dans les lignes où country == US. Voir la nouvelle ligne sous le premier commentaire, ainsi que l'index [r] utilisé dans les 2 lignes suivantes.
Names Default To Here( 1 );
dtA = Data Table( "tableA" );
dtb = Data Table( "tableB" );
//make lists of IDs and emails in table B
r = dtB << get rows where( :country == "US" ); //restrict rows to those where country is US
bIDs = (dtB:ID << get values)[r];
bEmails = (dtB:email << get values)[r];
//use formula to check if anything in the given row of A occurs anywhere in B
dtA << New Column( "bMatch",
character,
formula( If( Contains( bIDs, :ID ) | Contains( bEmails, :email ), "YES", "" ) )
);
dtA:bMatch << Delete Formula;
Re : vérifier si des données existent dans une autre tableDésolé mon mauvais! Mauvais nom de colonne, je l'ai corrigé et cela a fonctionné ! Merci beaucoup!
Une question suivante - si dans le tableau b il y a une autre colonne comme le pays, qui contient US ou CA. Puis-je faire la même colonne OUI dans le tableau a mais uniquement lorsque le pays du tableau b = US ?Re : vérifier si des données existent dans une autre tableÀ ma connaissance, _ ne devrait pas causer de problèmes (du moins pas avec JMP14.3 et JMP15.2). Êtes-vous sûr d'avoir la colonne Email_HASHED dans votre table de données dtB ?
Re : vérifier si des données existent dans une autre tableMerci! C'est ce que je recherche.
J'ai une erreur avec ce script. Vous vous demandez si c'est parce qu'il y a un trait de soulignement dans le nom du col ?

Re : vérifier si des données existent dans une autre tableBonjour, si j'interprète correctement votre question, vous voulez un OUI dans le tableau A chaque fois que l'e-mail ou l'identifiant apparaît dans B, quel que soit l'endroit où ils apparaissent dans le tableau B. Si oui, cela fera:
Names Default To Here(1);
dtA = datatable("tableA");
dtb = datatable("tableB");
//make lists of IDs and emails in table B
bIDs = dtB:ID << get values;
bEmails = dtB:email << get values;
//use formula to check if anything in the given row of A occurs anywhere in B
dtA << new column("bMatch", character, formula(if(contains(bIDs, :ID) | contains(bEmails, :email), "YES", "")));
dtA:bMatch << Delete Formula;
Voici un exemple de sortie :

Acclamations,
brady
Re : vérifier si des données existent dans une autre tableJe ne suis pas sûr de ce que vous cherchez à faire.
Supposons qu'il s'agisse du tableau A :

et voici le tableau B :

Considérez donc user1 dans la ligne 1 des deux tables. Il y a deux identifiants différents. Laquelle doit-on conserver ? Ou devrions-nous voir cette personne inscrite deux fois? De même, que se passe-t-il avec id=84 ? Devrait-il y avoir deux lignes ou devrait-il avoir l'adresse e-mail user7 ?