Wie benenne ich eine Tabelle über JSL und verweise später im Skript darauf?Hallo, ich versuche, eine kleine Teilmenge von Daten aus einer großen Datentabelle auszuwählen und daraus eine temporäre Tabelle zu erstellen. Das übergeordnete Ziel besteht darin, die Teildaten zusammenzufassen. Das folgende Skript erstellt die Teilmengendatentabelle „Name“, gibt jedoch keinen Verweis darauf zurück, damit ich die neue Tabelle verarbeiten kann. Im folgenden Skript werden die Daten der Testdatentabelle zusammengefasst, nicht jedoch die Daten der Namensdatentabelle.
Bitte helfen Sie mir dabei.
dt=Open("Test.jmp");
Z= NRow();
k=dt<< Get Rows Where(:Para == "THK" );
pt = dt << Subset(
Rows(k),
Output Table Name("Name"),
);
// I want to summarize the data from this subset data table
Close (dt, No Save);
pt = Current Data Table ();
Summarize(
a=by(:Para, Route),
//b= by(:Route),
c= count,
meanHT = mean(SITE_VALUE),
stdevHT = stddev(SITE_VALUE)
);
show (a,c);
Betreff: Verweis auf den Namen der AusgabetabelleDas erste ist eine Frage und das zweite eine Aussage.
Bei der Arbeit mit einer Datentabelle ist es oft effizient, einen Verweis darauf abzurufen und ihn dann zum Senden von Nachrichten wiederzuverwenden. Die erste Verwendung besteht darin, die Funktion aufzurufen, um diese Referenz abzurufen, und sie zur späteren Referenz in einer Variablen zu speichern.
Die aktuelle Datentabelle ist insofern praktisch, als die meisten Aktionen in JMP standardmäßig auf diese Tabelle zurückgreifen, wenn keine explizit angegeben wird. Bei der zweiten Verwendung wird eine Tabellenreferenz zugewiesen, um sie zur aktuellen Datentabelle zu machen. Stellen Sie sich vor, Sie haben mehrere Tabellen geöffnet und möchten eine Tabelle als aktuell festlegen.
Diese Bestimmung in JSL ist eine Frage des Stils. Es hängt auch vom Anwendungsfall ab, ob ein Stil vorteilhafter ist als ein Stil.
Betreff: Verweis auf den Namen der Ausgabetabelle
pt = current data table();
ruft die aktuelle Datentabelle ab
current data table(pk);
legt die aktuelle Datentabelle fest
Betreff: Verweis auf den Namen der AusgabetabelleWas ist der Unterschied zwischen
pt = current data table();
Und
current data table(pk);
?
Betreff: Verweis auf den Namen der AusgabetabelleMöglicherweise übersehe ich etwas, aber aus der ursprünglichen Frage geht hervor, dass das angegebene Problem darin bestand, dass für die Zusammenfassungsfunktion auf die Tabelle mit Teilmengendaten verwiesen werden muss.In JMP 12 steht der Zusammenfassungsfunktion ein zusätzliches Argument zur Verfügung.Sie können die Datentabelle als erstes Argument hinzufügen.Sie müssten also lediglich die Zusammenfassungsanweisung wie folgt ändern:
Summarize(pt,
a=by(:Para, Route),
//b= by(:Route),
c= count,
meanHT = mean(SITE_VALUE),
stdevHT = stddev(SITE_VALUE)
);
Eine weitere Beobachtung ist, dass Sie eine Aussage verwendet haben:
pt = current data table();
Was Sie meiner Meinung nach wirklich wollten, ist, die aktuelle Datentabelle auf pk zu setzen, indem Sie Folgendes verwenden:
current data table(pk);
Oder bin ich völlig in die Irre geführt?
Betreff: Verweis auf den Namen der AusgabetabelleWenn Sie die Option „Speichern“ von „Schließen()“ verwenden, müssen Sie JMP mitteilen, wo die Datei abgelegt werden soll:
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Wait(3);
Close(dt, Save("$DESKTOP/"||(dt << getName)));Betreff: Verweis auf den Namen der Ausgabetabelle<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Danke. Es scheint mein ursprüngliches Problem zu lösen. .
Tatsächlich scheint mein ursprüngliches Skript auch zu funktionieren, erlaubt mir aber keine einfache Handhabung von datierbaren Objekten. Wie im vorliegenden Fall (mit Ihrem Skript) kann ich die Subset-Tabelle nicht speichern. Irgendwelche Vorschläge?? Vielen Dank im Voraus
Schließen (dtSub, Speichern);
gibt einen Fehler aus.....
E/A-Problem. Öffnen im ReadWrite-Modus nicht möglich.
Die angegebene Datei wurde vom System nicht gefunden.
Änderungen an der JMP-Datentabelle weiblich speichern?
Betreff: Verweis auf den Namen der AusgabetabelleVielleicht ist das JSL-Äquivalent von „Tabellen > Zusammenfassung“ in diesem Fall besser?
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
rows2get = dt << getRowsWhere(:sex == "F");
dtSub = dt << Subset(Rows(rows2get), Output Table("Females"));
dtSummary = dtSub << Summary(Mean(:Weight), Group(:age));