Classement des valeurs dans JMP Script par une variable<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour à tous,
Dans mon ensemble de données, j'utiliserai une colonne, appelée Set, comme variable d'axe x dans un graphique à barres.Je veux qu'ils soient triés dans l'ordre de la plus petite valeur de réponse à la plus grande valeur de réponse afin d'avoir des barres dont la longueur augmente.Par exemple si j'ai les données suivantes :
Définir la réponse
Un 5
B-7
C 10
Je voudrais que l'ordre dans le diagramme à barres soit B, A, C.Évidemment, je peux définir la propriété comme ceci:
Définir < {"B", "A", "C"}), mais j'essaie de le faire sans avoir besoin de coder en dur les noms.J'aimerais pouvoir faire la valeur en ordonnant PAR une variable, en particulier par ma réponse.Je veux que ce soit un script standard que je puisse appliquer à plusieurs ensembles de données sans avoir à le modifier à chaque fois.
Salutations,
Michael.
Re : Ordre des valeurs dans le script JMP par une variableFYI pour JMP 16 pour ajouter Value Ordering, j'ai dû changer le format en:
:col << Set Property(
"Value Ordering",
Eval(myList)
);
Re : Ordre des valeurs dans le script JMP par une variableDans le premier cas, la liste ne contient que des noms de variables. La liste d'évaluation évalue simplement chaque variable. Dans le second cas, la liste contient des éléments (LSL, USL, Target) qui n'ont de sens que dans le contexte du message Set Property dans son ensemble. Eval List ne connaît pas ce contexte, il ne sait donc pas quoi faire de la première chose qu'il voit : LSL. Dans ce cas, vous devrez utiliser l'expression plus complexe que vous avez élaborée pour l'autre cas.
lLimit = 55;
uLimit = 70;
tLimit = 62.5;
Eval(
Eval Expr(
:height << Set Property(
"Spec Limits",
{LSL( Expr( lLimit ) ), USL( Expr( uLimit ) ), Target( Expr( tLimit ) )}
)
)
);Re : Ordre des valeurs dans le script JMP par une variableSuper! Je vois que ça marche pour ce cas. Mais dans le cas des limites de spécification, cette liste n'évalue pas ? J'obtiens une erreur indiquant qu'il ne semble pas aimer l'argument LSL lors de l'évaluation de la liste.
lLimite = 55 ;
uLimite = 70 ;
tLimite = 62,5 ;
:hauteur << Définir la propriété ( « Limites des spécifications » ,
Liste d'évaluation ({LSL(lLimit), USL(uLimit), Target(tLimit)}) );
Re : Ordre des valeurs dans le script JMP par une variableOu vous pouvez utiliser Eval List pour évaluer tous les membres d'une liste :
:sex << Set Property("Value Ordering",Eval List({my1,my2}));Re : Ordre des valeurs dans le script JMP par une variableJe réponds à ce fil à cause d'un problème similaire pour la commande de valeur.Je ne sais toujours pas quand utiliser Expr et Eval Expr pour les propriétés de colonne dans JSL pour JMP 12 ou JMP 13. Il semble que la forme générale devrait fonctionner :
: Ensemble << Définir la propriété ( "Ordre de valeur" , Éval ( {ma liste} ) ) ;
: Ensemble << Définir la propriété ( "Ordre de valeur" , Éval ( {mon1,mon2} ) ) ;
Dans les données Big Class, essayez de définir la colonne :sex pour mettre "M" avant "F":
mon1 = "M" ;
mon2 = "F" ;
: sexe << Définir la propriété ( "Ordre de valeur" , Éval( { mon1 , mon2 })) ;
Mais il met dans le texte "my1" et "my2" au lieu de "M" et "F".
J'ai copié le message pour savoir comment ajouter des limites de spécification en tant que propriété de colonne. http://www.jmp.com/support/notes/46/953.html
Il semble que vous deviez utiliser Expr et Eval Expr juste pour que les variables de caractères s'affichent. Si vous n'essayez que cette partie :
: sexe << Définir la propriété ( "Ordre de valeur" , { Expr ( mon1 ) , Expr ( mon2 )})
Vous obtenez le texte "Expr" et "Expr" dans la propriété de la colonne. Si vous incluez Eval Expr avec Expr, vous récupérez la phrase correcte dans le journal.
Expr éval (
: sexe << Définir la propriété ( "Ordre de valeur" , { Expr ( mon1 ) , Expr ( mon2 )})
) ;
Retour:
:sex << Définir la propriété( "Ordre des valeurs", {"M", "F"} )
et enfin tout ce code définit correctement la propriété de la colonne.
Éval (
Expr éval (
: sexe << Définir la propriété ( "Ordre de valeur" , { Expr ( mon1 ) , Expr ( mon2 )})
)
) ;
L'explication de la publication des limites de spécification était "la colonne stocke la propriété de la colonne avec les valeurs fournies sans évaluation ni validation des arguments fournis. Afin d'ajouter des propriétés de colonne à l'aide du code JSL qui contient des variables, le script doit convertir toutes les variables en leurs valeurs réelles."
Re : Ordre des valeurs dans le script JMP par une variableL'approche ci-dessous est meilleure (l'amusement d'un oneliner mais rarement suffisant...). Cela devrait fonctionner même s'il y a des liens et aussi s'il y a plusieurs valeurs pour chaque niveau et que l'ordre des valeurs doit être basé, par exemple, sur la réponse moyenne de chaque niveau.
Résumer ( g = par ( : Ensemble ) , m = Moyenne ( : Réponse ) ) ;
: Ensemble << Définir la propriété ( "Ordre de valeur" , Éval ( g [ Indice de classement ( m )] ) ) ;
Re : Ordre des valeurs dans le script JMP par une variableCette approche devrait fonctionner pour l'exemple ci-dessus. Cependant, il m'est venu à l'esprit que si deux niveaux ou plus ont exactement la même réponse, cela échouera (un seul des niveaux liés sera représenté dans la liste).
: Ensemble << Définir la propriété ( "Ordre de valeur" , Éval ( Tableau associatif ( : Réponse , : Ensemble ) << obtenir des valeurs ) ) ;