JSL_open e unisci tabelle di dati da un elenco in un ciclo forCiao, sto cercando di scrivere uno script per unire le tabelle in JSL, dove possiamo inserire il numero di tabelle da unire. Per questo, ho creato elenchi per inserire la posizione della tabella html, i nomi delle tabelle e le colonne del joiner.
Prima del join, inizio aprendo le tabelle, prendendo un elemento dalle liste in un ciclo for.
Ricevo un messaggio di errore "Problema di subscript nell'accesso o nella valutazione di "tables_list[i]", tables_list[/*###*/].
Hai idea di cosa ho fatto di sbagliato? Grazie in anticipo per il supporto
// 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] );
);Automazione e scriptingAccesso ai datiIngegneria della qualità e dei processiRi: JSL_open e unisci tabelle di dati da un elenco in un ciclo forOttimo, grazie, funziona!!
Ri: JSL_open e unisci tabelle di dati da un elenco in un ciclo forquesto codice
tables_list = {input_table_01,input_table_02,input_table_03};crea un elenco di nomi di variabili, non un elenco del contenuto delle variabili. Open vede il nome della variabile in cui si aspetta il contenuto. Puoi usarlo per valutare i nomi e il loro contenuto:
tables_list = Eval List( {input_table_01,input_table_02,input_table_03} );oppure puoi creare l'elenco in questo modo:
tables_list = {};
tables_list[1] = input_table_01;
tables_list[2] = input_table_02;
tables_list[3] = input_table_03;Ri: JSL_open e unisci tabelle di dati da un elenco in un ciclo forEcco il registro:
io = 1;
lista_tabelle = {tabella_input_01, tabella_input_02, tabella_input_03, tabella_input_04, tabella_input_05, tabella_input_06};
input_tabella_01
L'argomento Open deve essere una stringa nell'accesso o nella valutazione di 'Open' , Open/*###*/(tables_list[i], HTML Table( 4, Column Names( 0 ), Data Starts( 1 ) ))
Ri: JSL_open e unisci tabelle di dati da un elenco in un ciclo foraggiungi un'istruzione di debug appena prima del punto in cui fallisce:
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] );
);
Ri: JSL_open e unisci tabelle di dati da un elenco in un ciclo forCiao Craig,
Ho provato anche con n= 1 e non funziona neanche. In realtà, ho messo i=1 per cominciare e ho testato su i=0 per ogni evenienza e ho dimenticato di mettere di nuovo i=1 prima di pubblicare.
Non sembra essere questo il problema però.
Qualche altra idea?
Ri: JSL_open e unisci tabelle di dati da un elenco in un ciclo forGli elenchi e le matrici JSL iniziano da 1. JMP utilizza for( i = 1, i <= n, i++, ... anziché for( i = 0, i < n, i++, .