Tabellenskript in Skript einfügenIch versuche, ein Skript in meiner Datentabelle zu speichern, das eine zuvor erstellte Tabelle neu erstellt. Dabei handelt es sich um ein ziemlich umfangreiches Add-In, das das Öffnen/Schließen mehrerer verschiedener Tabellen, das Erstellen von Übersichtstabellen, das Zusammenführen und Aktualisieren umfasst, und am Ende sind die einzigen Daten, die ich für die Berichte benötige, eine einfache zweispaltige Tabelle. Ich möchte, dass die Benutzer dieses Add-in einmal ausführen können, und wenn sie die resultierende Tabelle versehentlich schließen, müssen sie das Add-in nicht erneut ausführen, da in der ursprünglichen Tabelle ein Skript gespeichert wird, das neu erstellt werden kann die Abschlusstabelle und das Analysefenster.
Hoffentlich macht das Sinn!
Das Problem, auf das ich stoße, besteht darin, dass die endgültige Tabelle eine Zusammenfassung einer der vielen Tabellen ist, die während des Add-In-Skripts erstellt wurden. Wenn ich also die Funktion <
sum<<DELETE scripts=""></DELETE>
Dies ist ein Beispiel für eine Sache, die ich versucht habe und die nicht funktioniert hat. dt ist die Originaltabelle, in der ich dieses Skript speichern möchte. sum ist die Tabelle, die ich im Skript neu erstellen möchte.
Ist das überhaupt möglich???
MassenanpassungBetreff: Tabellenskript in Skript einfügenHier ist ein einfaches Skript, das eine Möglichkeit zeigt, dies zu tun
names default to here(1);
dt=open("$SAMPLE_DATA\big class.jmp");
dtSum = dt << Summary(
Group( :sex ),
Mean( :height ),
Freq( "None" ),
Weight( "None" ),
link to original data table(0)
);
Eval(
Parse(
Eval Insert( "\[dt << New Table Script("Summary Table Script", ^dtSum << get script^)]\" )
)
);
Betreff: Tabellenskript in Skript einfügenWie speichere ich dieses Skript in meiner Tabelle?
Betreff: Tabellenskript in Skript einfügenIch würde einfach den Code zum Speichern der Übersichtstabelle als weiteres Skript hinzufügen und dann in Ihrem Hauptskript einfach das Tabellenskript ausführen lassen, das die Übersichtstabelle neu erstellt.
Betreff: Tabellenskript in Skript einfügenDie Ergebnistabelle meines Skripts besteht im Wesentlichen aus zwei Spalten: „Position“ und „N Zeilen“. Diese Tabelle ist eine Zusammenfassung einer Tabelle, die während des langen Add-Ins erstellt wurde, und keine Zusammenfassung von Spalten in der Haupttabelle. Ich kann keine Skripte verwenden, die Tabellen mit Daten aus der aktuellen Tabelle erstellen (z. B. Zusammenfassung, Stapel usw.). Ich muss die genauen Werte in der Ergebnistabelle irgendwie in einem Skript speichern, das ich in meiner Haupttabelle speichern kann. Etwas wie das:
New Table( "Positions of'n-1 base'",
Add Rows( 32 ),
New Column( "Position",
Numeric,
"Nominal",
Format( "Best", 10 ),
Set Values(
[1, 2, 3, 6, 8, 9, 11, 16, 18, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32,
34, 35, 36, 37, 38, 39, 40, 41, 46, 48, 63, 65, 68]
)
),
New Column( "N Rows",
Numeric,
"Continuous",
Format( "Fixed Dec", 20, 0 ),
Set Values(
[13, 52, 65, 52, 65, 65, 65, 52, 52, 65, 52, 31, 28, 23, 13, 21, 14, 17,
9, 5, 4, 56, 1, 4, 5, 3, 55, 65, 65, 52, 13, 13]
)
)
)
Aber ich kann nicht herausfinden, wie ich das in meinem Skript machen soll. Ich weiß nicht, wie ich dieses Skript bekomme oder es in der Haupttabelle speichere.
Mein Plan bestand darin, das Skript sofort abzurufen, wenn die Ergebnistabelle zum ersten Mal geöffnet wurde, und es in einem neuen Tabellenskript in meiner Haupttabelle zu speichern, damit die Ergebnistabelle, wenn sie geschlossen wurde, mit dem Haupttabellenskript neu erstellt werden konnte.
Ist das sinnvoller?
Betreff: Tabellenskript in Skript einfügenHallo @aallman ,
Ich bin etwas verwirrt darüber, was Exakt Sie versuchen es zu tun, aber es klingt etwas ähnlich wie etwas, das ich zuvor gemacht habe, wo ich die Quelldatentabelle stapeln und dann die Ausgabedatentabelle tabellarisch aufbereiten musste, aber nicht alles neu skripten wollte Ich habe einige neue Daten mit der Quelldatentabelle verkettet.
Hier ist ein Beispielcode, in dem ich das Stack-Skript im Quell-DT geschrieben habe.
Data Table( "Analysis" ) << Stack(
columns(
:X1,
:X2,
:X3,
:X4,
:X5,
:X6
),
Source Label Column( "Test Apparatus" ),
Stacked Data Column( "Data" )
);
Current Data Table() << Set Name( "Data Stack" ) <<
New Script(
"Fit Y by X of Data by Source",
Oneway(
Y( :Data ),
X( :Source ),
Means( 1 ),
Mean Diamonds( 1 ),
By( :Test Apparatus )
)
);
Data Table( "Data Stack" ) << New Column( "Date-Time",
"Ordinal",
Formula( :Date + :Time ),
Format( "m/d/y h:m:s" )
);
Data Table( "Data Stack" ) << Group Scripts(
"Run these after stacking",
{"Tabulate by Lot (run after stacking)",
"Tabulate by Apparatus (run after stacking)"}
);
Data Table( "Data Stack" ) << Move Script Group(
"Run these after stacking",
to last
);Und die Skripte werden in die neu gestapelte Datentabelle übertragen. Ich habe auch die gruppierten Skripte mit dem Titel „Führen Sie diese nach dem Stapeln aus“ im Haupt-DT gespeichert, die auch in die neu gestapelte Datentabelle übernommen werden.
Ich kann mir vorstellen, dass Sie Ihr Problem auf ähnliche Weise angehen können.
Viel Glück!,
DS