Variables Y dynamiques dans Graph Builder à partir de la sélection de l'utilisateurBonjour,
Je cherche à contrôler dynamiquement plusieurs axes Y dans Graph Builder en fonction de la sélection d'une case à cocher par l'utilisateur.
Les variables Y codées en dur fonctionnent correctement, mais toute construction dynamique échoue (Y non résolu, ignoré ou graphique vide).
J'ai essayé :
Aucun ne fonctionne pour moi.
-
Nombre dynamique de variables Y (1–4)
-
Chaque Y possède des limites/lignes de référence indépendantes
-
Impossible d'empiler les données
-
Utilisation obligatoire de Graph Builder
// Does NOT work
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Simulate user selection
Chosen_Ys_list = {"height", "weight"};
// Attempt to build Y list dynamically
Y_List = {};
For( i = 1, i <= N Items( Chosen_Ys_list ), i++,
Insert Into( Y_List, Expr( Y( Eval( Chosen_Ys_list[i] ) ) ) );
);
dt << Graph Builder(
Variables(
X( :age ),
Eval( Y_List ) // <- ignored or errors
)
);
// 2nd try
gb = dt << Graph Builder(
Variables( X( :age ) )
);
gb << Add Variable( Y( :height ) ); // Name Unresolved: Y
Automatisation et scriptageExploration et visualisation des donnéesRe : Variables Y dynamiques dans Graph Builder à partir de la sélection de l’utilisateurPour << Ajouter une variable, vous trouverez la syntaxe correcte dans l'index des scripts

Je ne sais pas exactement à quoi le graphique final est censé ressembler, voici donc un exemple simple utilisant << Ajouter une variable
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
cols = {"height", "weight"};
gb = dt << Graph Builder(Variables(X(:age)));
For Each({colname}, cols,
Eval(EvalExpr(
gb << Add Variable({Expr(Name Expr(AsColumn(dt, colname))), Role("Y")})
));
);

Re : Variables Y dynamiques dans Graph Builder à partir de la sélection de l’utilisateurIl y a un problème avec votre liste Y :

Par ailleurs, vous rencontrerez des problèmes avec la « Liste ».
En alternative à Ajouter une variable () , vous pouvez commencer par une expression_variable , ajouter d'autres variables, puis l'utiliser dans la commande Graph Builder.
Quelle que soit l'approche, le positionnement correct de Évaluation , Évaluation de l'expérience , Expr et NomExpr dans le code est essentiel.
Les détails sont disponibles dans la documentation.
...et dans certains messages de la communauté
https://www.google.com/search?q=expression+handling++site%3Acommunity.jmp.com
Variables_Expr = Expr(Variables (X(:age)));
For( i = 1, i <= N Items( Chosen_Ys_list ), i++,
Insert Into( Variables_Expr, Eval Expr( Y( Expr(Name Expr(As Column( Chosen_Ys_list[i] ) ) ) );
)));
Eval (Eval Expr(dt << Graph Builder(
Expr(Name Expr(( Variables_Expr ) ))
)));