Buscar e insertar filas coincidentesTengo dos columnas, Columna A y Columna B. ¿Es posible poner su valor coincidente con la Columna B? Los valores de la columna B son de esta lista (aquí está el código del fragmento)
fileNames = Files In Directory( directory );
newlist = {};
For( i = 1, i <= N Items( fileNames ), i++,
Insert Into( newlist, fileNames[i] )
);
dt << New Column( "COlumn B", Character, Values( newlist ) );
| Columna A | Columna B |
| manzana.doc | |
| naranja.doc | naranja.doc |
| Uvas.doc | Uvas.doc |
| fresa.doc | |
| Mango.doc | Mango.doc |
Combinación y limpieza de datosIngeniería de Calidad y ProcesosRe: Buscar e insertar filas coincidentesEs algo que ha reemplazado a Name() (creo que en JMP16). Es necesario si hay algunos caracteres especiales específicos, por ejemplo, en los nombres de las columnas. Aquí hay un artículo de ayuda que lo menciona (hay uno mejor, pero no pude encontrarlo rápidamente) Guía de secuencias de comandos > Bloques de construcción JSL > Reglas de sintaxis JSL > Nombres .
Lo usé porque no confío en los espacios en los nombres de mis columnas aunque deberían estar bien en JMP.
Re: Buscar e insertar filas coincidentesGracias a todos por su respuesta. Funciona bien.
Sólo quiero saber qué significa n en
:"Column A"n
Re: Buscar e insertar filas coincidentesUna opción más, bastante cercana a la @Georg proporcionó
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(5),
New Column("Column A",
Character,
"Nominal",
Set Values({"Apple.doc", "Orange.doc", "Grapes.doc", "Strawberry.doc", "Mango.doc"})
)
);
newlist = {"Orange.doc", "Grapes.doc", "Mango.doc"};
dt << New Column("Column B", Character, Nomimal,
<< Set Each Value(
If(Contains(newlist, :"Column A"n),
:"Column A"n
,
""
)
)
);Re: Buscar e insertar filas coincidentesAdemás de Join Tables de Jim, esta sería otra solución:
Names Default To Here( 1 );
// Prepare Table with Column A
dt = New Table( "Column A",
Add Rows( 5 ),
New Column( "Column A", Character, "Nominal", Set Values( {"Apple.doc", "Orange.doc", "Grapes.doc", "Strawberry.doc", "Mango.doc"} ) )
);
// Get the list
newlist = {"Orange.doc", "Grapes.doc", "Mango.doc"};
dt << New Column( "Column B", Character );
// Check each row if value is part of the list
For Each Row( dt, If( Contains( newlist, :"Column A"n ), :"Column B"n = :"Column A"n ) );
editado solo para que quede más claro
Re: Buscar e insertar filas coincidentesCree su columna B en una tabla de datos separada y luego use
Tablas=>Unirse
para fusionar las 2 tablas, haciendo coincidir la columna A de la tabla de datos 1 con la columna B de la tabla de datos 2.