Agregar un nuevo valor a las filas de una columna existenteHola, soy nuevo en JSL. Estoy tratando de escribir un código para lograr lo siguiente.
Tengo 4 tablas JMP diferentes. Estoy comparando cada fila de la columna 1 de la Tabla 1 con la columna 1 de las tres tablas restantes.
Si alguna entrada/fila de la Columna 1/tabla 1 coincide con la columna 1 de la Tabla 2, asigna el Carácter, por ejemplo, Grupo 1 a la fila de la tabla 1/Columna 4.
Del mismo modo, si cualquier fila de la columna 1/cuento1 coincide con la columna 1 de la tabla 3 y la tabla 4, entonces asigna un carácter, por ejemplo, Grupo 2 en la tabla 1/columna 4.
Estoy creando con éxito la columna 4 y después de la comparación con la tabla 2.
Sin embargo, me resulta difícil actualizar la misma columna 4 con el Grupo 2 cuando comparo las filas de la tabla 1/columna 1 con la tabla 3/columna 1.
¿Alguien podría ayudar?
* Más específicamente, ¿cómo puedo actualizar mi columna existente con una nueva cadena de caracteres para una condición dada? como no puedo usar -nueva columna para eso.*
Gracias
jodyep
Re: Agregar un nuevo valor a las filas de una columna existenteHola Jim.
Muchas gracias por tu ayuda. La modificación funcionó y se simplificó mucho.
Gracias
Alegría profunda
Re: Agregar un nuevo valor a las filas de una columna existenteAquí hay un par de ejemplos que espero le ayuden con el guión en el que está trabajando.
Names Default To Here( 1 );
dt1 = New Table( "Table 1", New Column( "Col A", character, values( {"A1", "A2", "A3"} ) ) );
dt2 = New Table( "Table 2", New Column( "Col B", character, values( {"B1", "B2", "B3"} ) ) );
dt3 = New Table( "Table 3", New Column( "Col C", character, values( {"C1", "C2", "C3"} ) ) );
If( dt1:Col A[1] == "A1",
dt2:Col B[3] = "Group 1"
);
If( dt2[2, 1] == "B2",
Data Table( "Table 1" ):Col A[2] = "Looking Good"
);
Aquí hay una modificación de su script que creo que simplificará el código.
names default to here(1);
dt3 = Open( "\\Table 2" );
dt6 = Open( "Table 1" );
dt6 << New Column( "Group",
Character)
m = N Rows( dt6 );
n = N Rows( dt3 );
For( i = 1, i <= m, i++,;
For( j = 1, j <= n, j++,
If( Column( dt6, "Core ID" )[i] == (Column( dt3, "PC_ID" )[j]),
dt6:Group[i] = "Group 1"
);
);
);
dt6 << save( "Table1" );
//Close( dt3, nosave );
//Close( dt6, nosave );