Sie möchten also ein automatisch generiertes Skript in einem neuen Skriptfenster haben, oder?Können Sie zunächst eine Beispieltabelle veröffentlichen?
Außerdem sollte beim Posten von JSL-Code die Schaltfläche verwendet werden, damit er leichter zu lesen und zu verstehen ist.
Ich habe eine JMP-Tabelle, die Kategorien, Unterkategorien und Spezifikationsgrenzen enthält, auf die ich in einer Datentabelle verweisen muss.Ich bin mir sicher, dass es dafür viele Möglichkeiten gibt, aber ich habe Formeln in zwei hinzugefügten Spalten geschrieben, die in ein JMP-Skript umgewandelt werden, wenn die Spalten ausgewählt und die Werte in ein leeres JMP-Skript eingefügt werden.
Die hinzugefügte Spalte 1 enthält die Formel-
If(Row() == 1,
"dt=Current Data Table();"
)
Die hinzugefügte Spalte 2 enthält die Formel-
"Try(Eval(Eval Expr( :" || :Process || " << Set Property( \!"Spec Limits\!", {LSL( "
|| Char( :LSL ) || " ), Target( " || Char( :Target ) || " ), USL( " || Char( :USL )
|| " ), Show Limits( 1 )} ))););";
"Try((Column(\!"" || :Process || "\!") << Set Selected(1););dt << group columns(\!""
|| :TYPE || "\!");dt << deselect column group( \!"" || :TYPE || "\!" ););" ||
"Try(Eval(Eval Expr(:" || :Process || " << Set Property(\!"Notes\!", \!"" ||
:Subgroup || "\!"))););";
Process ist der Eigenschaftsname Column.Dies stimmt mit den Datenspaltennamen in der Datentabelle überein.
LSL ist die Spalte mit der unteren Spezifikationsgrenze.
USL ist die Spalte mit der oberen Spezifikationsgrenze.
Typ ist die Gruppenspalte.
Untergruppe ist die Notizspalte.
Ich kann die Spalten manuell auswählen, kopieren und einfügen, wodurch ein funktionierendes Skript entsteht.Um die nächste Ebene der Automatisierung hinzuzufügen, wollte ich, dass das Skript die Werte aus den beiden Zielspalten auswählt und kopiert, das Skriptfenster öffnet und den Inhalt einfügt.
Wo ich nicht weiterkomme, ist es, das Skript dazu zu bringen, die in den Spalten enthaltenen Werte zu kopieren und einzufügen?
Jede Hilfe wird geschätzt.
Ich denke, die Verwendung von Table Script oder einfach einer JMP-Skriptdatei (.jsl) würde dies einfacher machen (Sie können bei Bedarf auch eine Symbolleiste/ein Add-In erstellen).
Ich füge die resultierenden Werte in ein Skript ein und es läuft wie vorgesehen. Ich könnte es auch in ein Add-In konvertieren.Was ich nicht herausfinden konnte, war, wie ich manuelle Aktivitäten überhaupt vermeiden konnte.Im Grunde habe ich versucht, die Funktionen Strg+C und Strg+V zu replizieren, nachdem ich die Spalten automatisch erstellt und ausgewählt habe.Alles, was ich in der Skriptsprache finde, kopiert und fügt die Formel anstelle der Werte ein.
Erster Beitrag von mir, sorry für die Verwirrung.
Ich hatte eine Diskussion mit einem meiner Arbeitskollegen (danke Tom) und wir haben das herausgefunden.Ich muss die Formel aus den gewünschten Spalten löschen und sie dann kopieren und einfügen.
Nachdem ich die Spalte erstellt habe, füge ich hinzu
Column( "Added Column") << Delete Formula;
Dann kopiere ich den Inhalt, öffne ein Skriptfenster und füge den Inhalt ein.
Current Data Table() << Bring Window To Front;
Wait(0);
Main Menu("Copy");
ww=New Window( "Script", <<script>&amp;amp;amp;lt;/PRE&amp;amp;amp;gt;&amp;amp;amp;lt;P&amp;amp;amp;gt;Ich gehe möglicherweise noch einmal zurück und lösche die Spalten aus der übergeordneten Referenztabelle, da sie jetzt überflüssig sind, aber das ist nur ein Verwaltungsaufwand.&amp;amp;amp;lt;/P&amp;amp;amp;gt;&amp;amp;amp;lt;P&amp;amp;amp;gt;&amp;amp;amp;nbsp;&amp;amp;amp;lt;/P&amp;amp;amp;gt;&amp;amp;amp;lt;P&amp;amp;amp;gt;&amp;amp;amp;nbsp;&amp;amp;amp;lt;/P&amp;amp;amp;gt;&amp;amp;amp;lt;/lingo-body&amp;amp;amp;gt;