Wählen Sie nur Tabellen aus, die eine bestimmte Zeichenfolge in der Tabelle enthalten, die als Variable verwendet werden sollHallo,
Ich versuche, eine Reihe von Tabellen zu verketten, die iterativ von einem Prozess generiert werden.
Die Namen dieser Tabellen beginnen alle mit demselben Präfix.
Ich kann alle offenen Tabellen problemlos verketten, finde aber nicht die richtige Syntax, um diese Tabellen nur mit einem bestimmten Präfix zu verketten und die anderen in Ruhe zu lassen.
Irgendwelche Vorschläge?
Am besten
Sebastian
//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>
Betreff: Wählen Sie nur Tabellen aus, die eine bestimmte Zeichenfolge in der Tabelle enthalten, die als Variable verwendet werden sollDas hat funktioniert!
Vielen Dank.
Am besten,
SebastianBetreff: Wählen Sie nur Tabellen aus, die eine bestimmte Zeichenfolge in der Tabelle enthalten, die als Variable verwendet werden sollDie Struktur dessen, was dt ist, hat sich geändert, daher muss der Inhalt geändert werden
contains(uppercase(dt<<GET name=""></GET>
Betreff: Wählen Sie nur Tabellen aus, die eine bestimmte Zeichenfolge in der Tabelle enthalten, die als Variable verwendet werden sollKeine Notwendigkeit, sich zu entschuldigen! Wahrscheinlich habe ich mich anfangs nicht ganz klar ausgedrückt.
Wie auch immer, wir müssen nah dran sein, aber die Konstruktion der dtList funktioniert nicht. Ich habe es mit und ohne Großbuchstaben versucht, ohne Erfolg
Hier ist das Protokoll vom Lauf:
Argument sollte ein Zeichen beim Zugriff oder bei der Auswertung von „Großbuchstaben“ sein, fehlerhaftes Argument (dt), Großbuchstaben/*###*/(dt)
So nah und doch so fern...
Hier ist mein aktueller Code
clear log();
Names Default To Here( 1 );
try(data table("LogP")<<CLOSE window=""></CLOSE>
Betreff: Wählen Sie nur Tabellen aus, die eine bestimmte Zeichenfolge in der Tabelle enthalten, die als Variable verwendet werden sollEs tut mir leid, ich dachte, Ihr Problem wäre die Erstellung der dtList.Das Problem ist etwas anders.
Das Problem besteht darin, der Concatenate-Plattform die richtigen Informationen bereitzustellen.Die Struktur der erforderlichen Eingaben der Concatenate-Plattform ist
Data Table() << concatenate( data table(), data table()…., Append to first table(1) );
Was Sie an Concatenate übergeben, ist:
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" )
Das Hauptproblem besteht darin, dass jeder Ihrer Datentabellennamen in das Format „Datentabelle“ („...…..“) geändert werden muss.
Dies kann mit zwei kleinen Änderungen erfolgen.
Ändern Sie zunächst die Struktur Ihrer dtList.Sie möchten nicht nur den Namen der Datentabelle, sondern die gesamte Struktur
For( i = 1, i <= N Table(), i++,
dt = data table(i);
if(contains(uppercase(dt),uppercase(c)),
insert into(dtLIst, dt ))
);
Als nächstes wird die Concatenate-Anweisung
data table("LogP")<<CONCATENATE></CONCATENATE>Betreff: Wählen Sie nur Tabellen aus, die eine bestimmte Zeichenfolge in der Tabelle enthalten, die als Variable verwendet werden sollHallo Jim,
Danke für die schnelle Antwort. Ich habe versucht, das Problem zu beheben, ohne Erfolg.
Hier ist das Protokoll, das ich erhalte, wenn ich mein Skript umsetze:
dtList =>
„{“P-Werte PBS vs. PBS“, „P-Werte PBS vs. 741039“, „P-Werte PBS vs. 740410“, „P-Werte PBS vs. 709966“, „P-Werte PBS vs. 709878“, „P-Werte PBS vs. 709573“, „P-Werte PBS vs. 709547“ , „P-Werte PBS vs. 709544“}
Die Datentabelle kann beim Zugriff oder bei der Auswertung von „Data Table“, Data Table/*###*/(dtLIst) nicht gefunden werden.
in Zeile 19 in C:\Users\sburel\Ionis\Neurology Research - Documents\Core\Neurottoxicology\Miscellaneous Research Activities\DATABASE ALL CNS DATA\Associated scripts\intermediate and Toy scripts\Toy-Beispiel zum Verketten mehrerer Tabellen mit einer bestimmten Zeichenfolge in nam.jsl "
Wenn ich den nächsten Teil des Skripts verwende, ist hier das Protokoll, das ich für dxLIst=> erhalte
"{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 7-DGE in vivo Maus einzeln gestapelt)}“
Die zweite Liste wird problemlos verkettet, enthält aber Tabellen, die ich nicht möchte. Die erste Liste (dtLIst) enthält nicht die „Datentabelle („xyz“).
Ich vermute, dass ich nicht die richtige Syntax verwende, um das Skript anzuweisen, jedes Element in der ersten Liste als Datentabelle auszuwerten.
//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>Vielleicht könnt ihr die Fehler meines Weges erkennen 
Danke
Sebastian
Betreff: Wählen Sie nur Tabellen aus, die eine bestimmte Zeichenfolge in der Tabelle enthalten, die als Variable verwendet werden sollIch kann an sich nichts Falsches erkennen. Aber es könnte sein, dass Sie ein Problem mit der Groß-/Kleinschreibung haben. Versuchen Sie es
If(contains(uppercase(dt), uppercase(c),
insert into(dtLIst, dt )
);