Wertreihenfolge - Verwenden von JSL zum Festlegen von SpalteneigenschaftenHallo
Ich benötige einige Skripthinweise, da sich die Spalteneigenschaften von JMP14 zu JMP15 in Bezug auf die Wertreihenfolge geändert haben - Einführung einer "benutzerdefinierten Reihenfolge"
Das folgende Skript funktioniert in JMP 14 einwandfrei. Das Ergebnis zeigt die Überprüfung der Spalteneigenschaften
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" in den Spalteneigenschaften nicht sichtbar.
Weiß jemand, wie man das ändert, damit es funktioniert? und 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
DatentabelleSkriptingBetreff: Reihenfolge der Werte - Verwenden von JSL zum Festlegen der 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 anzuwendenBetreff: Wertreihenfolge - Verwenden von JSL zum Festlegen von SpalteneigenschaftenVielen Dank.
Jetzt ist es im Menü mit den Spalteneigenschaften sichtbar - großartig.Betreff: Wertreihenfolge - Verwenden von JSL zum Festlegen von SpalteneigenschaftenWie wäre es mit diesem. Ich stecke in Set Property for Spec Limits fest. Danke 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 - Verwenden von JSL zum Festlegen von SpalteneigenschaftenNachdem ich Ihre Zeile "Grafikcode hinzufügen" auskommentiert habe (Sie haben das Objekt "dlgStatus" nicht eingeschlossen), hat Ihr Code für meine Beispieldaten einwandfrei funktioniert. Wenn es für Ihren Code nicht funktioniert, besteht vermutlich eine Nichtübereinstimmung zwischen dem Namen der Spalten in Ihrer Datentabelle und der Beschreibungsspalte in Ihrer Spektable.
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 - Verwenden von JSL zum Festlegen von SpalteneigenschaftenKönnen Sie mir dabei helfen? Es funktioniert einwandfrei mit V13, aber wenn ich auf V15 aktualisiere, wird immer noch ein Fehler beim Festlegen der Spezifikationsgrenzen angezeigt.
Übrigens besteht die Funktion darin, 2 oder mehr CSV-Dateien unter Verwendung der 3. bis 5. Zeile als Spezifikationen zusammenzuführen. Vielen Dank!
Betreff: Wertreihenfolge - Verwenden von JSL zum Festlegen von SpalteneigenschaftenWas ist die Fehlermeldung im Protokoll?Betreff: Wertreihenfolge - Verwenden von JSL zum Festlegen von SpalteneigenschaftenDie Spalte, auf die Sie Spec Limits anwenden möchten, hat einen Zeichendatentyp. Sie müssen sie in numerisch ändern.Betreff: Wertreihenfolge - Verwenden von JSL zum Festlegen von SpalteneigenschaftenSiehe beigefügte Fehlermeldung.
