Re: ¿Cómo aplico un script a varias tablas de datos a la vez? (JMP 17)Usar For Each es la idea correcta. Obtiene la referencia a su tabla de datos de referencia cuando la abre y obtiene una lista de referencias a otras tablas de datos de Importación de archivos múltiples (si no recuerdo mal ...). Luego puede recorrer esa lista usando For Each
Re: ¿Cómo aplico un script a varias tablas de datos a la vez? (JMP 17)Hola @Kast ,
un seguimiento de lo que @jthi mencionado. Un script para hacer esto podría tener este aspecto.La sintaxis de la expresión correcta todavía me resulta un poco confusa, pero esto debería ser la mayor parte del camino hacia lo que necesita.
Names default to here(1);
dt_list = Multiple file import(); // Incomplete placeholder
table_script = expr( New script( "Table script name here", // Add new tables scripts with New script()
Graph Builder( // Incomplete table script graphic script
Size( 800, 800 ),
Show Control Panel( 0 ),
Variables( X( :Column 1 ) ),
Elements( Points( X, Y, Legend( 5 ) ) ),
SendToReport(
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "Example title" )}
)
)
)
);
Eval( // For each loop adds table_script to each data table named in dt_list
Eval Expr(
For Each( {value, index},
Expr( dt_list[index] << table_script )
)
)
);
Eval( // for loop alternative
eval expr(
for( i = 1, i <= N Items( dt_list ), i++,
expr( dt_list[i] << table_script )
)
)
);¿Cómo aplico un script a varias tablas de datos a la vez? (JMP 17)Estoy buscando una manera de ejecutar un script en varias tablas de datos ejecutando el script una vez en lugar de ejecutar el script una vez por tabla de datos.
Flujo de datos actual
- Tabla de datos JMP de referencia abierta.
- Utilice un primer script (basado en la importación de varios archivos) para importar varios archivos de Excel en varias tablas de datos JMP (1 tabla por archivo).
- Resultado: 1 tabla de datos de referencia abierta y 2-10+ nuevas tablas de datos JMP del script de importación.
- ejecutar un segundo guión en cada tabla de datos JMP creada para limpiar los datos y actualizar las tablas de datos creadas con datos de la tabla de datos JMP de referencia.
- Resultado: 1 tabla de datos de referencia y más de 2 a 10 tablas de datos de JMP que se han limpiado (eliminar columnas, agregar columnas calculadas, etc.) y se han actualizado (tabla de datos de actualización con guión) con datos de la tabla de datos de referencia.
Me gustaría encontrar una solución en la que no tenga que aplicar manualmente mi segundo guión individualmente a cada tabla de datos JMP creada.
Estoy abierto a cualquier acercamiento.
He pensado en tratar de usar listas JMP y/o la función "Para cada uno", pero no he podido encontrar ejemplos de cómo aplicarlos a las tablas de datos. Creo que necesitaría hacer una lista de todas las tablas de datos abiertas filtradas por su nombre (para poder filtrar la tabla de datos de referencia que uso para actualizar las tablas de datos de interés), tampoco sé cómo hacerlo.
Gracias por todos y cada uno de los consejos e ideas.
Automatización y secuencias de comandosRe: ¿Cómo aplico un script a varias tablas de datos a la vez? (JMP 17)Gracias a los dos. Realmente aprecio la ayuda.
; //with all Multiple File Import details included
</CODE></PRE><P>definitivamente funciona para hacer la lista.</P><P> </P><P>No pude hacer que esto funcionara por mí mismo, pero todavía estoy aprendiendo a usar Eval, EvalExpr, Expr, etc.</P><PRE><CODE class=" language-jsl">Eval( // For each loop adds table_script to each data table named in dt_list
Eval Expr(
For Each( {value, index},
Expr( dt_list[index] << table_script )
)
)
);dt_list = Multiple File Import()
Pude obtener una prueba simple para trabajar con For Each en este formato. Script de columna agregado simple.
For Each({listitem}, dt_list, listitem << New Column( "Mean",
Numeric,
"Continuous",
Formula( Mean( :A, :B, :C, :D</img> ) ),
Format( "Best", 12 )));Mi código de ejemplo de trabajo completo es
Names default to here(1);
dt_list = Multiple File Import(
<<SET folder=""> ) ),
Format( "Best", 12 )));
</SET>