Unire più tabelle di dati utilizzando un ciclo<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao,
Attualmente, come parte della mia analisi, sto creando più file basati sui limiti della carta di controllo. Questi file vengono emessi come Senza titolo. Ho bisogno di unire tutte le analisi insieme, ma il problema che ho è che devo escludere alcune tabelle di dati dal mio join. Ci sono 2 tabelle che devo escludere dal mio ciclo: Ref Data e Limits_Key.
Vedi sotto:

Stavo usando questo codice per inserire tutte le tabelle in un elenco:
num_tabelle = ntable();
dataset_list = {};
For (z = 1, z <= num_tables, z++,
dt = Tabella dati(z);
column_names = dt << ottiene i nomi delle colonne;
colonne_valide = 1;
if (colonne_valide,
one_name = dt << Ottieni nome;
Inserisci in (dataset_list, one_name);
);
); // termina per
//show(dataset_list);
num_tables = nitems(dataset_list);
For( q = num_tables, q >= 1, q--,
If( !Inizia con( dataset_list , "Senza titolo" ),
Rimuovi da (dataset_list, q)
)
);
Mostra(dataset_list);
Speravo di utilizzare qualcosa di simile al seguente per unire i tavoli (esclusi i 2 sopra menzionati)
t_count = (N Tabella());
mostra (t_count);
t_count = (t_count) -2;
dt_old = Tabella dati(t_count);
mostra(dt_old);
Mostra(dt_old << ottieni nome());
dt_new = Tabella dati("temp_ref");
For(i = 3, i <= t_count, i++,
//show(Tabella dati );
dt_old = dt_new;
Mostra(dt_old << ottieni nome());
dt_new = dt_old << Unisci(
Con (Tabella dati (i)),
Unisci colonne con lo stesso nome,
Corrispondendo a Colonne(:_LimitsKey = :_LimitsKey,
:_Schermato = :_Schermato,
:SOTTOINSIEME = :SOTTOINSIEME),
Elimina multipli (0, 0),
Nome("Includi non corrispondenze")(1, 1),
Tabella di output( "Limiti" )
);
Chiudi(dt_old);
);
Qualcuno potrebbe aiutarmi o darmi qualche dritta?
Ri: Unire più tabelle di dati usando un cicloPuoi filtrare le tabelle non necessarie nel primo ciclo.Ti ritroverai con una tabella chiamata LimitsNNN, dove NNN è il numero di tabelle Untitled.Prova qualcosa del genere.
num_tabelle = Tabella N () ;
dataset_list = {} ;
Per ( z.z = 1 , z.z <= num_tabelle , z.z ++,
dt = Tabella dati ( z.z ) ;
un_nome = dt << Ottieni nome ;
Se ( Inizia con ( un_nome , "Senza titolo" ) ,
Inserire ( dataset_list , un_nome )
) ;
) ; // termina per
Spettacolo ( dataset_list ) ;
dt_old = tabella dati ( dataset_list [ 1 ]) ;
per ( io = 2 , io <= articoli ( dataset_list ) , io ++,
dt_new = tabella dati ( dataset_list [ io ]) ;
join_name = "Limiti" || char ( io ) ;
dt_old << giuntura ( con ( dt_new ) ,
Unisci colonne con lo stesso nome ,
Per colonne corrispondenti (
: _LimitsKey = : _LimitsKey ,
: _Schermato = : _Schermato ,
: SOTTOINSIEME = : SOTTOINSIEME
) ,
Rilascia multipli ( 0 , 0 ) ,
Nome ( "Includi non corrispondenze" )( 1 , 1 ) ,
Tabella delle uscite ( join_name )
) ;
vicino ( dt_old , nosave ) ;
dt_old = tabella dati ( join_name ) ;
) ;