ordre des valeurs - utilisation de JSL pour définir les propriétés des colonnessalut
J'ai besoin de quelques conseils de script car il y a eu des changements dans les propriétés de la colonne de JMP14 à JMP15 concernant l'ordre des valeurs - introduction de "l'ordre personnalisé"
Le script suivant fonctionne correctement dans JMP 14 et le résultat peut être vu en vérifiant les propriétés de la colonne
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 )] ) );
Le script ci-dessus fonctionne dans JMP15 mais le résultat n'est pas visible dans les propriétés de la colonne - je suppose - en raison du nouvel "ordre personnalisé"
Quelqu'un sait-il comment changer cela pour le faire fonctionner et le résultat visible dans les propriétés de la colonne dans JMP15?
Ce qui suit ne fonctionne pas.
Summarize( g = by( :BatchVO ), m = Mean( :name("Timestamp") ) );
//JMP15 Script
:BatchVO << Set Property( "Value Order", {Custom Order(Eval( g[Rank Index( m )] ))} );Des idées sur le script JSL correct pour JMP15 et supérieur?
@martindemel
Tableau de donnéesScriptingRe: ordre des valeurs - utilisation de JSL pour définir les propriétés des colonnesLes valeurs renvoyées par votre Summarize pour la variable "g" sont renvoyées sous forme de chaînes de caractères et vous essayez d'appliquer des valeurs de chaîne de caractères à une colonne numériqueRe: ordre des valeurs - utilisation de JSL pour définir les propriétés des colonnesMerci beaucoup.
Maintenant, il est visible dans le menu des propriétés de la colonne - super.Re: ordre des valeurs - utilisation de JSL pour définir les propriétés des colonnesCelui-ci, ça va. Je suis coincé dans Set Property for Spec Limits. Merci de votre aide
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);
);Re: ordre des valeurs - utilisation de JSL pour définir les propriétés des colonnesAprès avoir commenté votre ligne Ajouter un code graphique (vous n'avez pas inclus l'objet dlgStatus), votre code a bien fonctionné pour mes exemples de données. Donc, si cela ne fonctionne pas pour votre code, je soupçonne qu'il y a un décalage entre le nom des colonnes dans votre datatable et la colonne description dans votre spectable.
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 );
);Re: ordre des valeurs - utilisation de JSL pour définir les propriétés des colonnesPouvez-vous m'aider à ce sujet ... cela fonctionne très bien avec la V13, mais lorsque je mets à niveau vers la V15, une erreur s'affiche toujours dans la définition des limites des spécifications.
btw, la fonction de ceci est de fusionner 2 ou plusieurs fichiers csv en utilisant la 3e à la 5e ligne comme spécifications. Merci!
Re: ordre des valeurs - utilisation de JSL pour définir les propriétés des colonnesQuel est le message d'erreur dans le journal?Re: ordre des valeurs - utilisation de JSL pour définir les propriétés des colonnesLa colonne à laquelle vous essayez d'appliquer des limites de spécification est d'un type de données caractère., Vous devez la changer en numérique.Re: ordre des valeurs - utilisation de JSL pour définir les propriétés des colonnesVoir le message d'erreur ci-joint.
