comprobar si existen datos en otra tablaHola, tengo 2 tablas A y B, cada una tiene una columna "email" e "id". Quiero agregar una nueva columna en la tabla A, si esa fila tiene "el mismo correo electrónico O la misma identificación" que aparece en la tabla B, entonces "SÍ", si no, entonces vacío. ¿Alguien podría ayudarme a escribir este script?
Gracias.
Automatización y secuencias de comandosInvestigación del Consumidor y del MercadoLa personalización en masaIngeniería de Calidad y ProcesosRe: comprobar si existen datos en otra tabla¡Funciona! ¡Muchas gracias Brady!Re: comprobar si existen datos en otra tablaSí tu puedes. Creo que la forma más fácil de hacer esto es restringir lo que pones en las listas en primer lugar, llenando las listas solo con valores que ocurrieron en filas donde país == EE. UU. Vea la nueva línea debajo del primer comentario, así como el índice [r] utilizado en las próximas 2 líneas.
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: comprobar si existen datos en otra tabla¡Disculpa, me equivoque! Nombre de columna incorrecto, ¡lo arreglé y funcionó! ¡Muchas gracias!
Una siguiente pregunta: si en la tabla b hay otra columna como país, que contiene EE. UU. o CA. ¿Podría hacer la misma columna SÍ en la tabla a pero solo cuando el país de la tabla b = EE. UU.?Re: comprobar si existen datos en otra tablaSegún tengo entendido, _ no debería causar problemas (al menos no con JMP14.3 y JMP15.2). ¿Está seguro de que tiene la columna Email_HASHED en su tabla de datos dtB?
Re: comprobar si existen datos en otra tabla¡Gracias! Esto es lo que estoy buscando.
Tengo un error con este script. Me pregunto si es porque hay un guión bajo en el nombre de la columna.

Re: comprobar si existen datos en otra tablaHola, si interpreto correctamente tu pregunta, quieres un SÍ en la tabla A siempre que el correo electrónico o la identificación aparezcan en B, independientemente de la ubicación en la que estos aparezcan en la tabla B. Si es así, esto servirá:
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;
Aquí hay una salida de muestra:

Salud,
Brady
Re: comprobar si existen datos en otra tablaNo estoy seguro de lo que estás buscando hacer.
Supongamos que esta es la Tabla A:

y esta es la tabla B:

Entonces, considere al usuario1 en la fila 1 de ambas tablas. Hay dos identificaciones diferentes. ¿Cuál debe conservarse? ¿O deberíamos ver a esa persona en la lista dos veces? Del mismo modo, ¿qué sucede con id=84? ¿Debería haber dos líneas o debería tener la dirección de correo electrónico del usuario7?