In einem Skript die ausgewählten Tabellenskripte als Liste zurückgebenHallo, ich bin mir bewusst, dass ich den folgenden Code verwende, um alle Tabellenskripte zurückzugeben
scriptNames = dt << Get Table Script Names;
Gibt es eine Möglichkeit, nur die von mir ausgewählten Skripts zurückzugeben (falls ausgewählt, ansonsten alle zurückgeben).
Geben Sie also im folgenden Fall [Bivariat, Logistik] zurück

SkripterstellungBetreff: In einem Skript die ausgewählten Tabellenskripte als Liste zurückgebenDies veranschaulicht, wie Sie das Skript erhalten:
dt = open("$SAMPLE_DATA/Big Class.jmp");
scriptNames = dt << get table script names;
// as an example, get the first script
scriptName = scriptNames[1];
script = dt << get table variable(scriptName);
Das Skript kommt als String zurück.Sie können parse verwenden, um es in ausführbare JSL zu konvertieren.
Um mit ausgewählten Skripten zu arbeiten, versuchen Sie die GetSelectedProperties Botschaft.
Betreff: In einem Skript die ausgewählten Tabellenskripte als Liste zurückgeben<< Get Selected Properties scheint den Zweck zu erfüllen dt<)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Select Properties({2, 4});
proplist = dt << Get Selected Properties();Betreff: In einem Skript die ausgewählten Tabellenskripte als Liste zurückgebenZur Verdeutlichung sind die ausgewählten Skripte variabel. Eine Antwort mit fest codierten Skriptindizes ist also nicht das, wonach ich suche.
Mit anderen Worten, ich möchte zuerst feststellen, WELCHE Skripte ich ausgewählt habe, und diese dann zurückgeben.
Betreff: In einem Skript die ausgewählten Tabellenskripte als Liste zurückgebenEs gibt keine fest codierten Indizes. Die Auswahl der Eigenschaften ist zu Demonstrationszwecken vorhanden, aber vielleicht ist dies besser für Sie geeignet (es wird Empty() zurückgeben, da nichts ausgewählt ist):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
proplist = dt << Get Selected Properties();
<< Ausgewählte Eigenschaften abrufen wird Ihnen nicht direkt die Namen der Skripte zurückgeben, aber Sie können die Namen ziemlich einfach aus dem zurückgeben, indem Sie zum Beispiel Arg() verwenden.
Betreff: In einem Skript die ausgewählten Tabellenskripte als Liste zurückgebenDie Informationen sind in den Ergebnissen von enthalten ausgewählte Eigenschaften erhalten , aber Sie müssen möglicherweise etwas tun, um die Informationen aufzuheben.Hier ist ein Beispiel:
// example from the scripting guide
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Select Properties( {2, 4} );
proplist = dt << Get Selected Properties();
// number of selected scripts
numSelectedScripts = nitems(proplist);
// pattern for picking out the script name
pat = "\!"en\!" => \!"" + PatArb()>>strScriptName + "\!"";
// build list of script names based on selection
lstScriptNames = {};
for (i=1,i<=numSelectedScripts,i++,
strScriptName = char(proplist[i]);
success = PatMatch(strScriptName,pat);
if (success,
insertinto(lstScriptNames,strScriptName)
)
);
show(lstScriptNames);Betreff: In einem Skript die ausgewählten Tabellenskripte als Liste zurückgebenDas ist perfekt! Danke für die ausführliche Lösung
Betreff: In einem Skript die ausgewählten Tabellenskripte als Liste zurückgebenIch sehe jetzt, dass in meinen eigenen Datentabellen die spezifische Extraktion, die Sie verwenden, um den englischen Skriptnamen zu erhalten, nicht funktioniert. Ich habe nicht die mehrsprachige Struktur, die ich in der großen Klassendatentabelle sehe. Ist dies etwas, das kürzlich geändert wurde, oder möglicherweise eine Spracheinstellung in JMP, die dazu führt, dass es zwischen den Systemen unterschiedlich ist?
Ich habe Ihre pat-Variable so geändert, dass sie für mich funktioniert.
pat = "\!"" + Pat Arb() >> strScriptName + "\!"";
Betreff: In einem Skript die ausgewählten Tabellenskripte als Liste zurückgebenDie lokalisierten Beispieltabellen werden vom JMP-Lokalisierungsteam erstellt. Tabellen, die Sie erstellen, haben keine L10N Daten. Ihre Lösung ist in Ordnung für Nicht-Beispieldatentabellen (jede Tabelle, die Sie erstellen).
Die Aufbewahrung nur einer Kopie jeder Beispieltabelle erleichtert den Versand einer neuen Version von JMP alle 18 Monate. Während der JMP 4-Ära waren die Beispieltabellen geklont und übersetzt, und dann mussten aktualisierte Tabellen für JMP 5 neu übersetzt werden. Was ein Alptraum!