Wertreihenfolge – Verwendung von JSL zum Festlegen von SpalteneigenschaftenHallo
Ich benötige einige Ratschläge zur Skripterstellung, da es in den Spalteneigenschaften von JMP14 zu JMP15 Änderungen hinsichtlich der Wertreihenfolge gab – Einführung der „benutzerdefinierten Reihenfolge“
Das folgende Skript funktioniert in JMP 14 einwandfrei und das Ergebnis kann bei der Überprüfung der Spalteneigenschaften angezeigt werden
Summarize( g = by( :BatchVO ), m = Mean( :name("Timestamp") ) );
// JMP 14 Script for value ordering column "BatchVO" in the Order of the values in column "Timestamp"
:BatchVO << Set Property( "Value Ordering", Eval( g[Rank Index( m )] ) );
Das obige Skript funktioniert in JMP15, aber das Ergebnis ist aufgrund der neuen „benutzerdefinierten Reihenfolge“ vermutlich nicht in den Spalteneigenschaften sichtbar.
Weiß jemand, wie man das ändern kann, damit es funktioniert? Und ist das Ergebnis in den Spalteneigenschaften in JMP15 sichtbar?
Folgendes funktioniert nicht.
Summarize( g = by( :BatchVO ), m = Mean( :name("Timestamp") ) );
//JMP15 Script
:BatchVO << Set Property( "Value Order", {Custom Order(Eval( g[Rank Index( m )] ))} );Irgendwelche Ideen zum richtigen JSL-Skript für JMP15 und höher?
@martindemel
Automatisierung und SkripterstellungBetreff: Wertreihenfolge – Verwendung von JSL zum Festlegen von SpalteneigenschaftenBild1

Bild2

Betreff: Wertreihenfolge – Verwendung von JSL zum Festlegen von SpalteneigenschaftenHallo Jim, ich beschäftige mich mit einem ähnlichen Problem mit dem Wertreihenfolgeformat im Skript. Ich muss in der Lage sein, die Kundenbestellung zu deaktivieren und sie in der Zeilenreihenfolge pro Datentabelle beizubehalten. Ihre Hilfe wird gerne in Anspruch genommen
Hier ist der Skriptteil, in dem ich die zu stapelnden Spalten auswähle.
dt = Current Data Table();
dt1 = Data Table( dt ) << Stack(
columns( :Data Target, :Data1, :Data2, :Data3, :Data4, :Data5, :Best Data, ),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Drop All Other Columns( 1 ),
);
Wenn ich mein Skript ausführe, erhalte ich das Diagramm mit alphabetisch sortierten Daten, siehe Bild 1, wo links die besten Daten angezeigt werden
Ich möchte die Wertreihenfolge so haben
1) Ich könnte das Kontrollkästchen „Kundenbestellung“ deaktivieren
2) Überprüfen Sie die Ebenen der Zeilenreihenfolge
Auf diese Weise erhält das Diagramm die gleiche Reihenfolge in der Stapeltabelle wie in Bild 2, wo das Datenziel ganz links im Diagramm angezeigt wird.
Danke
Sam
Betreff: Wertreihenfolge – Verwendung von JSL zum Festlegen von SpalteneigenschaftenDie Spalte, auf die Sie Spezifikationsgrenzen anwenden möchten, hat den Datentyp „Zeichen“. Sie müssen es in numerisch ändern.Betreff: Wertreihenfolge – Verwendung von JSL zum Festlegen von SpalteneigenschaftenSiehe beigefügte Fehlermeldung.

Betreff: Wertreihenfolge – Verwendung von JSL zum Festlegen von SpalteneigenschaftenWie lautet die Fehlermeldung im Protokoll?Betreff: Wertreihenfolge – Verwendung von JSL zum Festlegen von SpalteneigenschaftenKönnen Sie mir dabei helfen? Mit V13 funktioniert es einwandfrei, aber wenn ich auf V15 aktualisiere, wird beim Festlegen der Spezifikationsgrenzen immer noch ein Fehler angezeigt.
Übrigens besteht die Funktion darin, zwei oder mehr CSV-Dateien unter Verwendung der 3. bis 5. Zeile als Spezifikationen zusammenzuführen. Danke!
Betreff: Wertreihenfolge – Verwendung von JSL zum Festlegen von SpalteneigenschaftenNachdem ich Ihre Zeile „Grafikcode hinzufügen“ auskommentiert habe (Sie haben das dlgStatus-Objekt nicht eingefügt), funktionierte Ihr Code für meine Beispieldaten einwandfrei.Wenn es also bei Ihrem Code nicht funktioniert, vermute ich, dass eine Diskrepanz zwischen den Namen der Spalten in Ihrer Datentabelle und der Beschreibungsspalte in Ihrer Spectable besteht.
Names Default To Here( 1 );
datatable = Open( "$SAMPLE_DATA/big class.jmp" );
spectable = New Table( "specs",
Add Rows( 2 ),
New Column( "Description", Character, "Nominal", Set Values( {"height", "weight"} ) ),
New Column( "LSL", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [52, 61] ) ),
New Column( "USL", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [70, 175] ) ),
New Column( "Units", Character, "Nominal", Set Values( {"Inches", "Pounds"} ), Set Display Width( 56 ) )
);
For( r = 1, r <= N Rows( spectable ), r++,
specname = spectable:Description[r];
Try(
dtcol = Column( datatable, specname ),
//write("No data for \!"" || specname|| "\!"");
Continue()
);
//write("Setting spec for \!"" || specname|| "\!"\!r");
If( Not( Is Missing( spectable:LSL[r] ) ) | Not( Is Missing( spectable:USL[r] ) ),
Eval(
Substitute(
Expr(
dtcol << Set Property( "Spec Limits", {LSL( _L ), USL( _U ), Show Limits( 1 )} )
),
Expr( _L ), spectable:LSL[r],
Expr( _U ), spectable:USL[r]
)
)
);
If( spectable:Units[r] != "",
Eval( Substitute( Expr( dtcol << Set Property( "Units", _U ) ), Expr( _U ), spectable:Units[r] ) )
);
progress = Floor( (r / N Rows( spectable )) * 100 );
//dlgStatus[FrameBox( 1 )] << Add Graphics Script( {Fill Color( "blue" ), Rect( 0, 1, progress, 0, 1 )} );
Wait( 0.001 );
);Betreff: Wertreihenfolge – Verwendung von JSL zum Festlegen von SpalteneigenschaftenWie wäre es mit diesem. Ich stecke in „Eigenschaften für Spezifikationsgrenzen festlegen“ fest. Vielen Dank für Ihre Hilfe
for (r = 1, r <= N Rows(spectable), r++,
specname = spectable:Description[r];
try(
dtcol = Column(datatable, specname);
,
//write("No data for \!"" || specname|| "\!"");
Continue()
);
//write("Setting spec for \!"" || specname|| "\!"\!r");
if(not(ismissing(spectable:LSL[r])) | not(ismissing(spectable:USL[r])),
eval(substitute(expr(dtcol << Set Property("Spec Limits", {LSL(_L), USL(_U), Show Limits(1)})),
expr(_L), spectable:LSL[r],
expr(_U), spectable:USL[r]
));
);
if(spectable:Units[r] != "",
eval(substitute(expr(dtcol << Set Property("Units", _U)),
expr(_U), spectable:Units[r]
));
);
progress = floor((r / N Rows(spectable)) * 100);
dlgStatus[FrameBox(1)] << Add Graphics Script({Fill Color("blue"),Rect(0,1,progress,0,1)});
wait(0.001);
);Betreff: Wertreihenfolge – Verwendung von JSL zum Festlegen von SpalteneigenschaftenVielen Dank.
Jetzt ist es im Menü der Spalteneigenschaften sichtbar – großartig.Betreff: Wertreihenfolge – Verwendung von JSL zum Festlegen von SpalteneigenschaftenDie von Ihrer Zusammenfassung für die Variable „g“ zurückgegebenen Werte werden als Zeichenfolgen zurückgegeben, und Sie versuchen, Zeichenfolgenwerte auf eine numerische Spalte anzuwenden
Der folgende Code scheint zu tun, was Sie wollen
names default to here(1);
Summarize( g = by( :BatchVO ), m = Mean( :name("Timestamp") ) );
for(i=1,i<=nitems(g),i++,
g[i]=num(g[i])
);
//JMP15 Script
eval(substitute(expr(:BatchVO << Set Property( "Value Order", {Custom Order(__list__)} );),
expr(__list__), g[Rank Index( m )] ));