automatisch „Source“-Skript schreiben, wenn „Kombinierte Datentabelle erstellen“ im Bericht mit Spalte „Nach“ verwendet wirdAuf Grundlage der Einzelheiten in der folgenden Erläuterung wird diese Idee dahingehend abgeändert, dass angefordert wird, dass ein Skript vom Typ „Quelle“ oder „Kombinierte Datentabelle erstellen“ in die Tabelle geschrieben wird, die sich aus „Kombinierte Datentabelle erstellen“ in einem Bericht ergibt, wenn eine Spalte/Variable vom Typ „Nach“ vorhanden ist.
---------------------------------------------
„Kombinierte Datentabelle erstellen“ ist eine der leistungsstärksten Funktionen von JMP, aber auch eine der schwierigsten beim Skripten. Egal, wie oft ich diese Funktion beim Untersuchen meiner Daten verwende, es scheitere fast immer, wenn ich versuche, sie in eine längere, mit JMP geskriptete Datenanalyse-Pipeline zu integrieren. (Ich vermute, ich bin nicht der Einzige, der support@jmp.com wiederholt wegen desselben Problems kontaktiert hat.)
Wenn Benutzer eine der Plattformen ausführen, auf die über das Menü „Tabelle“ zugegriffen werden kann, wird die erstellte Tabelle automatisch mit einem „Quell“-Skript erstellt, das kopiert und in ein größeres Skript eingefügt werden kann, sodass nur geringfügige und relativ offensichtliche Anpassungen erforderlich sind, damit das Tabellenskript in seinem neuen Kontext funktioniert. Wenn Benutzer jedoch „Kombinierte Datentabelle erstellen“ anfordern, wird normalerweise kein Quellskript automatisch in die neu erstellte Tabelle geschrieben. Dies scheint eine eklatante und wichtige Lücke im Funktionsumfang von JMP zu sein, die hoffentlich mit der nächsten Version geschlossen werden kann.
Interessanterweise wird, wenn Benutzer „Kombinierte Datentabelle erstellen“ für eine Berichtstabelle anfordern, die nur einmal im Bericht vorkommt, tatsächlich ein Skript mit dem Namen „Kombinierte Datentabelle erstellen“ in der Datentabelle gespeichert. Es ist jedoch (für mich) relativ unklar, welche Art von Anpassung erforderlich ist, um das gespeicherte Skript an die Situation anzupassen, in der es tatsächlich mehrere Tabellen gibt, die ich unbedingt kombinieren muss.
Ich vermute, dass es für viele von uns von Vorteil wäre, wenn bei jeder Anforderung „Kombinierte Datentabelle erstellen“ automatisch ein funktionierendes „Quelle“-Skript in der neu erstellten Tabelle gespeichert würde – insbesondere, wenn tatsächlich mehrere Tabellen kombiniert werden müssen.
Automatisierung und SkriptingBetr.: "Quelle"-Skript automatisch schreiben, wenn "Kombinierte Datentabelle erstellen" im Bericht mit der Spalte "Nach" verwendet wirdHallo Jeff,
Ich verwende häufig Fit Model mit Where-Anweisung wie folgt:
dt = Open( "$SAMPLE_DATA/Analgesics.jmp" );<BR />
Summarize( dt, genlst = by( :gender ) );
New Window( "Fit Model example using Analgesics.jmp",
For( i = 1, i <= N Items( genlst ), i++,
fm = Fit Model(
Y( :pain ),
Effects( :drug ),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run(
:pain << {Summary of Fit( 1 ), Analysis of Variance( 1 ), Parameter Estimates( 1 ),
Lack of Fit( 0 ), Scaled Estimates( 0 ), Plot Actual by Predicted( 0 ), Plot Regression( 0 ),
Plot Residual by Predicted( 0 ), Plot Studentized Residuals( 0 ), Plot Effect Leverage( 0 ),
Plot Residual by Normal Quantiles( 0 ), Box Cox Y Transformation( 0 ), {:drug <<
{LSMeans Tukey HSD(
0.05,
Crosstab Report( 0 ),
Connecting Letters Report( 0 ),
Ordered Differences Report( 1 )
)}}}
),
Where( Format( :gender ) == genlst[i] ),
SendToReport( Dispatch( {"Response pain"}, "Effect Details", OutlineBox, {Close( 0 )} ) );
)
)
);
rfm = fm << Report;
rfm[Outline Box( "LSMeans Differences Tukey HSD" )][4][1] << Make Combined Data Table;
Normalerweise mache ich
rfm[Outline Box( "LSMeans Differences Tukey HSD" )][4][1] << Make Combined Data Table;
manuell, indem Sie mit der rechten Maustaste auf die Tabelle im Bericht klicken und Kombinierte Datentabelle erstellen auswählen. Die resultierende Datentabelle folgt dem nachstehenden Format

Die Werte aus der Where-Anweisung sind in dieser kombinierten Datentabelle nicht enthalten. Ich erstelle dann neue Spalten, um die fehlenden Informationen auszufüllen. Glücklicherweise ist die Reihenfolge der Ergebnisse dieselbe wie bei den Berichten.
Ich weiß nicht, ob dies dasselbe Problem ist oder ein separates Problem, das mit fortgeschrittenen Skriptkenntnissen gelöst werden kann.
Derchieh
Betr.: "Quelle"-Skript automatisch schreiben, wenn "Kombinierte Datentabelle erstellen" im Bericht mit der Spalte "Nach" verwendet wird@derchieh , können Sie ein Beispiel dafür geben, wonach Sie suchen? Wie wird die where-Anweisung in Ihrem Code verwendet?
Betr.: "Quelle"-Skript automatisch schreiben, wenn "Kombinierte Datentabelle erstellen" im Bericht mit der Spalte "Nach" verwendet wirdHallo, funktioniert es auch, wenn die Where-Anweisung verwendet wird?
Betr.: "Quelle"-Skript automatisch schreiben, wenn "Kombinierte Datentabelle erstellen" im Bericht mit Spalte "Nach" verwendet wird - Status geändert in: Geliefertfantastisch! Danke schön!
Betr.: „Quelle“-Skript automatisch schreiben, wenn „Kombinierte Datentabelle erstellen“ im Bericht mit Spalte „Nach“ verwendet wird – Status geändert in: GeliefertJMP 15 handhabt die Gruppen „Nach“ jetzt korrekt, wenn „Kombinierte Datentabelle erstellen“ verwendet wird.
Betr.: "Quelle"-Skript automatisch schreiben, wenn "Kombinierte Datentabelle erstellen" im Bericht mit Spalte "Nach" verwendet wird - Status geändert in: In EntwicklungExzellent!!
Betr.: "Quelle"-Skript automatisch schreiben, wenn "Kombinierte Datentabelle erstellen" im Bericht mit Spalte "Nach" verwendet wird - Status geändert in: In EntwicklungIn diesem Fall freue ich mich, sagen zu können, dass JMP 15 ein „Make Combined Data Table“-Skript bereitstellt, wenn es eine „By“-Spalte gibt.
Betreff: Skript "Quelle" automatisch schreiben, wenn "Kombinierte Datentabelle erstellen"Interessant! Ich hatte nicht herausgefunden, dass die "By"-Variable auf diese Weise als Ausnahme behandelt wurde ... wahrscheinlich, weil ich (fast) * immer * eine By-Variable verwende, wenn ich versuche, "Kombinierte Datentabelle zu erstellen".
Ja, bitte erweitern Sie diese Funktion, um die By-Variable zu unterstützen.
Danke, Jeff!
tom
Betreff: Skript "Quelle" automatisch schreiben, wenn "Kombinierte Datentabelle erstellen"Make Combined Table erstellt ein „Make Combined Table“-Skript in der resultierenden Tabelle, solange Sie keine By-Variable in Ihrer Analyse haben. Die By-Variable erschwert es JMP zu wissen, wie das Skript erstellt werden soll. Ich nehme an, Sie wünschen Unterstützung im Fall der By-Variablen. Kannst du bestätigen?