JSL_open y unir tablas de datos de una lista en un bucle forHola, estoy intentando escribir un script para unir tablas en JSL, donde podemos ingresar la cantidad de tablas a unir. Para esto, creé listas para ingresar la ubicación de la tabla html, los nombres de las tablas y las columnas de unión.
Antes de la unión, empiezo abriendo las tablas, tomando un elemento de las listas en un bucle for.
Recibo un mensaje de error "Problema de subíndice en el acceso o evaluación de "tables_list[i]", table_list[/*###*/].
¿Alguna idea de lo que hice mal? Gracias de antemano por el apoyo.
// Indicate how many input data tables you have (default = 1)
nb_join_tables = 2;
// Indicate here the link to the first input HTML table
input_table_01 = "http://xxxx.html";
// Indicate here the names you want for your first JMP data tables
JMP_table_01_name = "xxx -01";
// Indicate here the link to the input HTML table to join
input_table_02 = "http://xxxx.html";
input_table_03 = "http://xxxx.html";
// Indicate here the names you want for the data tables to join
JMP_table_02_name = "xxx -02";
JMP_table_03_name = "xxx -03";<BR /><BR />// indicate here the column you want JMP to use as joiner for the tables merge (default:Parameter Set Name)<BR />joiner_table_01 = "Parameter Set Name";<BR />joiner_table_02 = "Parameter Set Name";<BR />joiner_table_03 = "Parameter Set Name";
// Create lists according to the number of tables to merge
tables_list = {input_table_01,input_table_02,input_table_03};
names_list= {JMP_table_01_name,JMP_table_02_name,JMP_table_03_name};
joiners_list = {joiner_table_01,joiner_table_02,joiner_table_03};
For( i = 0, i <= nb_join_tables, i++,
//Open html data table from specific location
dt=Open(
tables_list[i],
HTML Table( 4, Column Names( 0 ), Data Starts( 1 ) )
);
// Set JMP data table name to the desired one
dt << Set Name( names_list[i] );
);Automatización y secuencias de comandosAcceso a los datosIngeniería de Calidad y ProcesosRe: JSL_open y unir tablas de datos de una lista en un bucle forGenial, gracias, ¡¡funciona!!
Re: JSL_open y unir tablas de datos de una lista en un bucle foreste codigo
tables_list = {input_table_01,input_table_02,input_table_03};hace una lista de nombres de variables, no una lista del contenido de las variables. Open ve el nombre de la variable donde espera el contenido. Puede utilizar esto para evaluar los nombres según su contenido:
tables_list = Eval List( {input_table_01,input_table_02,input_table_03} );o puedes construir la lista así:
tables_list = {};
tables_list[1] = input_table_01;
tables_list[2] = input_table_02;
tables_list[3] = input_table_03;Re: JSL_open y unir tablas de datos de una lista en un bucle forAquí está el registro:
yo = 1;
lista_tablas = {tabla_entrada_01, tabla_entrada_02, tabla_entrada_03, tabla_entrada_04, tabla_entrada_05, tabla_entrada_06};
tabla_entrada_01
El argumento abierto debe ser una cadena en el acceso o evaluación de 'Open', Open/*###*/(tables_list[i], tabla HTML (4, nombres de columnas (0), inicios de datos (1)))
Re: JSL_open y unir tablas de datos de una lista en un bucle foragregue una declaración de depuración justo antes del lugar donde falla:
For( i = 0, i <= nb_join_tables, i++,
show(i, tables_list); // check the log window for the output
//Open html data table from specific location
dt=Open(
tables_list[i],
HTML Table( 4, Column Names( 0 ), Data Starts( 1 ) )
);
// Set JMP data table name to the desired one
dt << Set Name( names_list[i] );
);
Re: JSL_open y unir tablas de datos de una lista en un bucle forHola Craig,
Probé también con n= 1 y tampoco funciona. En realidad, puse i=1 para empezar y probé i=0 por si acaso y olvidé poner i=1 nuevamente antes de publicar.
Sin embargo, no parece ser el problema.
¿Alguna otra idea?
Re: JSL_open y unir tablas de datos de una lista en un bucle forLas listas y matrices JSL comienzan en 1. JMP usa for( i = 1, i <= n, i++, ... en lugar de for( i = 0, i < n, i++, .