controlla se i dati esistono in un'altra tabellaCiao, ho 2 tabelle A e B, ognuna ha una colonna "email" e "id". Voglio aggiungere una nuova colonna nella tabella A, se quella riga ha "la stessa email O lo stesso ID" visualizzata nella tabella B, quindi "SÌ", se no, vuota. Qualcuno potrebbe aiutarmi a scrivere questo script?
Grazie.
AnaliticaSceneggiaturaRe: controlla se i dati esistono in un'altra tabellaFunziona! Grazie mille Brady!Re: controlla se i dati esistono in un'altra tabellaSi, puoi. Penso che il modo più semplice per farlo sia limitare ciò che hai inserito negli elenchi in primo luogo, riempiendo gli elenchi solo con i valori che si sono verificati nelle righe in cui country == US. Vedi la nuova riga sotto il primo commento, così come l'indice [r] utilizzato nelle 2 righe successive.
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: controlla se i dati esistono in un'altra tabellaScusa colpa mia! Nome della colonna sbagliato, l'ho corretto e ha funzionato! Grazie mille!
Una domanda seguente: se nella tabella b c'è un'altra colonna come il paese, che contiene Stati Uniti o CA. Posso fare la stessa colonna SÌ nella tabella a ma solo quando la tabella b paese = USA?Re: controlla se i dati esistono in un'altra tabellaPer quanto mi risulta _ non dovrebbe causare problemi (almeno non con JMP14.3 e JMP15.2). Sei sicuro di avere la colonna Email_HASHED nel tuo datatable dtB?
Re: controlla se i dati esistono in un'altra tabellaGrazie! Questo è quello che sto cercando.
Ho un errore con questo script. Mi chiedo se sia perché c'è un trattino basso nel nome del col?

Re: controlla se i dati esistono in un'altra tabellaCiao, se interpreto correttamente la tua domanda, vuoi un SI nella tabella A ogni volta che l'e-mail o l'ID appare in B, indipendentemente dalla posizione in cui compaiono nella tabella B. Se è così, questo farà:
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;
Ecco un esempio di output:

Saluti,
Brady
Re: controlla se i dati esistono in un'altra tabellaNon sono sicuro di cosa stai cercando di fare.
Supponiamo che questa sia la tabella A:

e questa è la tabella B:

Quindi, considera user1 nella riga 1 di entrambe le tabelle. Ci sono due ID diversi. Quale dovrebbe essere conservato? O dovremmo vedere quella persona elencata due volte? Allo stesso modo, cosa succede con id=84? Dovrebbero esserci due righe o dovrebbe avere l'indirizzo email dell'utente7?