Salut,
savez-vous comment obtenir le "nom" GraphBuilderGroupBox à partir du niveau de script JSL ? Dans l'image ci-jointe, ce serait "Male" ou "Female" (marqué dans des cercles rouges). Ma conjecture est d'avoir une commande similaire à << xpath( "//GraphBuilderGroupBox" )) << Get Window Title. Cependant cela ne fonctionne pas.
Voici le code :
dt = Open( "$SAMPLE_DATA/Academic Achievement.jmp" );
win = dt << Graph Builder(
Size( 570, 475 ),
Variables( X( :Year4 ), Y( :Year2 ), Group X( :Female ) ),
Elements( Points( X, Y, Legend( 8 ) ), Smoother( X, Y, Legend( 9 ) ) )
);
GroupBoxName = (win << xpath( "//GraphBuilderGroupBox" )) << Get Window Title; //<<CLASS name="" show=""></CLASS>
J'en ai besoin dans mon code étendu, où je colle des FrameBox de différentes tables sur un Go. Les cadres conservent l'emplacement "correct" tant que je n'utilise pas le filtre de données local, sinon les données tracées sont gâchées. J'utilise JMP 16.1.
Merci pour vos conseils !
Salutations,
Li

Je ne sais pas si vous pouvez accéder à ces "noms" (groupements) à partir du générateur de graphiques. Vous pouvez vérifier ce à quoi vous pouvez accéder avec Xpath en utilisant << Get XML on win variable et sur cette base il n'y a aucune mention de "Female" et "Male". En vérifiant également dans Afficher la structure arborescente et Afficher les propriétés, je ne les vois pas non plus:

Pour obtenir une référence à GraphBuilderGroupBox, vous pouvez utiliser :
gbgb = Report(win)[GraphBuilderGroupBox(1)];
//or
gbgb = (win << XPath("//GraphBuilderGroupBox"))[1]; //it is a list so use indexL'accès au groupe X peut être fait avec Variable, mais je ne sais pas si cela sera utile ici :
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Academic Achievement.jmp");
win = dt << Graph Builder(
Size(570, 475),
Variables(X(:Year4), Y(:Year2), Group X(:Female)),
Elements(Points(X, Y, Legend(8)), Smoother(X, Y, Legend(9)))
);
//win << get xml
gbb = Report(win)[Graph Builder Box(1)];
wait(1);
gbb << Remove Variable(3);
gbb << Add Variable({:Female Binary, Role("Group X")});Éditer:
Si vous n'avez besoin que des valeurs de la colonne Femme, vous pouvez les obtenir directement à partir de datatable. Comme ce sont des étiquettes de valeur, vous devez obtenir la propriété d'étiquette de valeur
(Column(dt, "Female") << Get Column Properties())["Value Labels"]