Selezionare solo le tabelle che contengono una stringa specifica nella tabella da utilizzare come variabileCiao,
Sto cercando di concatenare un gruppo di tabelle generate in modo iterativo da un processo.
I nomi di quelle tabelle iniziano tutti con lo stesso prefisso.
Posso facilmente concatenare tutte le tabelle aperte ma non riesco a trovare la sintassi corretta per concatenare solo quelle tabelle con un prefisso specifico e lasciare stare le altre.
Eventuali suggerimenti?
Migliore
Sebastiano
//The first script to concatenate only tables with 'Pvalue' in the name fails
//But the dtLIst does shows the correct list of tables BUT list them without the 'data table' prefix.
// as a result, the concatenation step does not interpret them as a list of table
clear log();
Names Default To Here( 1 );
try(data table("LogP")<<CLOSE window=""></CLOSE>
Ri: selezionare solo le tabelle che contengono una stringa specifica nella tabella da utilizzare come variabileQuesto ha funzionato!
Grazie mille.
Migliore,
SebastianoRi: selezionare solo le tabelle che contengono una stringa specifica nella tabella da utilizzare come variabileLa struttura di ciò che dt è è cambiata, quindi il contiene deve essere cambiato in
contains(uppercase(dt<<GET name=""></GET>
Ri: selezionare solo le tabelle che contengono una stringa specifica nella tabella da utilizzare come variabileNon c'è bisogno di scusarsi! Probabilmente non sono stato molto chiaro in primo luogo.
Comunque, dobbiamo essere vicini ma la costruzione del dtLIst non funziona. Ho provato con con e senza maiuscolo senza alcun risultato
Ecco il registro della corsa:
l'argomento dovrebbe essere un carattere nell'accesso o nella valutazione di 'Maiuscolo' , Argomento errato( dt ), Maiuscolo/*####*/(dt)
Così vicino eppure così lontano...
Ecco il mio codice attuale
clear log();
Names Default To Here( 1 );
try(data table("LogP")<<CLOSE window=""></CLOSE>
Ri: selezionare solo le tabelle che contengono una stringa specifica nella tabella da utilizzare come variabileMi scuso, pensavo che il tuo problema fosse nella creazione di dtLIst.La questione è leggermente diversa.
Il problema sta nel fornire alla piattaforma concatenata le informazioni corrette.La struttura dell'input richiesto di Concatenate Platform è
Data Table() << concatenate( data table(), data table()…., Append to first table(1) );
Quello che stai passando a Concatenate è:
Data Table( "LogP" ) << Concatenate( Data Table( {"Pvalues PBS vs PBS", "Pvalues PBS vs 741039", "Pvalues PBS vs 740410", "Pvalues PBS vs 709966", "Pvalues PBS vs 709878", "Pvalues PBS vs 709573", "Pvalues PBS vs 709547", "Pvalues PBS vs 709544"} ), "Append to first table" )
Il problema principale è che ognuno dei nomi di tabella dati che hai, deve essere cambiato nel formato di Data Table( "...….." )
Questo può essere fatto con due piccole modifiche.
Per prima cosa, cambia la struttura del tuo dtLIst.Non vuoi solo il nome della tabella dati, ma l'intera struttura
For( i = 1, i <= N Table(), i++,
dt = data table(i);
if(contains(uppercase(dt),uppercase(c)),
insert into(dtLIst, dt ))
);
Successivamente, l'istruzione Concatenate diventa
data table("LogP")<<CONCATENATE></CONCATENATE>Ri: selezionare solo le tabelle che contengono una stringa specifica nella tabella da utilizzare come variabileCiao Jim,
Grazie per la risposta rapida. Ho provato a risolverlo senza successo.
Ecco il registro che ottengo quando implemento il mio script:
dtLIst =>
"{"Valori P PBS vs PBS", "Valori P PBS vs 741039", "Valori P PBS vs 740410", "Valori P PBS vs 709966", "Valori P PBS vs 709878", "Valori P PBS vs 709573", "Valori P PBS vs 709547" , "Valori P PBS rispetto a 709544"}
Impossibile individuare la tabella dati in accesso o valutazione di 'Data Table' , Data Table/*###*/(dtLIst)
alla riga 19 in C:\Users\sburel\Ionis\Neurology Research - Documents\Core\Neurotoxicology\Miscellaneous Research Activities\DATABASE ALL CNS DATA\Associated scripts\intermediate and toy scripts\Toy example per concatenare più tabelle con una stringa specifica in nome.jsl "
Se utilizzo la parte successiva dello script, ecco il registro che ottengo per dxLIst=>
"{DataTable("LogX"), DataTable("LogP"), DataTable("Pvalues PBS vs PBS"), DataTable("Pvalues PBS vs 741039"), DataTable("Pvalues PBS vs 740410"), DataTable("Pvalues PBS vs 709966"), DataTable("Pvalues PBS vs 709878"), DataTable("Pvalues PBS vs 709573"), DataTable("Pvalues PBS vs 709547"), DataTable("Pvalues PBS vs 709544"), DataTable("NT191209 Topo 7-DGE in vivo singolo impilato")}"
Il secondo elenco viene concatenato bene ma include tabelle che non voglio. Il primo elenco (dtLIst) non contiene la "Tabella dati ("xyz").
Sospetto che non sto usando la sintassi corretta per dire allo script di valutare ogni elemento nel primo elenco come una tabella di dati.
//This script to concatenate only table with 'Pvalue' in the name fails
//But the dtLIst does shows the correct list of tables BUT list them without the 'data table' prefix.
// as a result, the concatenation step does not interpret them as a list of table
clear log();
Names Default To Here( 1 );
try(data table("LogP")<<CLOSE window=""></CLOSE>Forse sarai in grado di vedere gli errori sulla mia strada 
Grazie
Sebastiano
Ri: selezionare solo le tabelle che contengono una stringa specifica nella tabella da utilizzare come variabileNon riesco a vedere nulla di intrinsecamente sbagliato ..... ma potresti avere un problema con maiuscole / minuscole provare
If(contains(uppercase(dt), uppercase(c),
insert into(dtLIst, dt )
);