Les travaux suivants pour myCol dans dt. myCol est numérique et continu
Names Default To Here (1);
dt = Current Data Table();
dt:myCol<< Set Property("Axis", {Min(0.02), Max(10.05), Inc( 0.01 ), Minor Ticks( 1 )});
Cependant, les résultats suivants entraînent un plantage de JMP (v 16.2.0). Où est-ce que je me trompe ?
ll = 0.02;
ul = 10.05;
dt:Cgd << Set Property( "Axis", {Min(ll), Max(ul), Inc( 0.01 ), Minor Ticks( 1 )});La vérification ci-dessous montre le problème (voir ci-joint lorsque vous essayez de vérifier les propriétés de mCol), mais je suis à court d'idées sur la façon de résoudre ce problème.
AxLim1 = dt:Cgd << Get Property ("Axis"); show (AxLim1);rapports
AxLim1 = {Min(ll), Max(ul), Inc(0.01), Minor Ticks(1)};Je pense que c'est quelque chose de simple qui me manque. Toute direction serait très utile.
JMP n'évalue pas les variables. Essayez cette solution :
ll = 0.02;
ul = 10.05;
Eval(
Substitute(
Expr( dt:myCol << Set Property( "Axis", {Min(lll), Max(uuu), Inc( 0.01 ), Minor Ticks( 1 )}) ),
Expr( lll ), ll,
Expr( uuu ), ul
)
);@Mark_Bailey
Merci. Le contournement semble fonctionner. Pourrais-je avoir des explications sur vos étapes de script/fonctionnalité ?
Votre script d'origine a fourni des variables dans les arguments du message Set Property. Comme je l'ai dit, JMP ne les évalue pas dans ce cas. Cela vous permet d'établir des expressions comme paramètres dans une propriété de colonne. Vous voulez une valeur constante pour le paramètre, vous devez donc convertir la variable en une valeur littérale à la place de la variable. En travaillant de l'intérieur vers l'extérieur, je crée un modèle de l'expression souhaitée avec des espaces réservés (c'est-à-dire, je vais et uuu ) pour les valeurs littérales. Je remplace les valeurs littérales en évaluant les variables (c'est-à-dire, ll et ul ) pour les espaces réservés. J'évalue enfin l'expression résultante. Vous pouvez voir ce travail en sélectionnant la fonction Substitute() et en l'évaluant.