Comment trouver la référence à un objet dans une plateforme à l'aide de l'arborescence ?Salut, j'ai essayé d'utiliser des références à des objets dans des plates-formes d'analyse (graphiques, tableaux, etc.) dans des scripts, mais à mon avis, ce n'est pas très intuitif d'après les exemples que j'ai vus.
J'ai plusieurs cas d'utilisation, mais j'espère trouver une description générique ou un manuel sur la façon de trouver la référence à n'importe quel objet dans une plate-forme d'analyse. Je suppose qu'il existe quelque part sur ce site mais je n'ai pas pu le trouver.
Automatisation et scriptPersonnalisation de masseRe : Comment trouver la référence à un objet dans une plateforme en utilisant l'arborescence ?Il existe également une fonction utilitaire pour aider à déterminer le meilleur chemin vers une zone d'affichage.

Re : Comment trouver la référence à un objet dans une plateforme en utilisant l'arborescence ?
car je n'ai pas accès à JMP17.
vraiment ?
j'aurais deviné que toi obtenez votre édition de signature JMP Pro spéciale, personnelle et gratuite le premier jour où une nouvelle version sort
... pour vous accompagner au maximum dans l'accompagnement des autres 
Re : Comment trouver la référence à un objet dans une plateforme en utilisant l'arborescence ?une autre astuce :
Générez le code XML pour le rapport actuel (pas seulement le rapport de l'objet ; pensez aux filtres de données, etc.)
J'ai lié le code ci-dessous à un raccourci clavier et je peux désormais obtenir le code XML pour n'importe quel rapport de mon choix.
Sélectionnez simplement le rapport et appuyez (par exemple) CTRL - Alt + X
Local({myTitle= Current Report()<< get Window Title() || " - (xml)"},
New Window (myTitle ,<<TYPE></TYPE>Re : Comment trouver la référence à un objet dans une plateforme en utilisant l'arborescence ?Comme Jarmo l'a indiqué dans sa première réponse, dans JMP17, il est maintenant un peu plus facile d'obtenir le bon XPath pour un objet :
Faites un clic droit sur l'objet, cliquez sur Afficher les propriétés (... ajustez la sélection si nécessaire) et cliquez sur
dans le menu Box Path à droite :

Re : Comment trouver la référence à un objet dans une plateforme en utilisant l'arborescence ?Vous pouvez essayer d'envelopper Oneway avec une nouvelle fenêtre
Names Default To Here(1);
// group by sex
dt = Open("$SAMPLE_DATA\Big Class.jmp");
nw = New Window("", ow = dt << Oneway(Y(:height), X(:age), By(:sex), Means and Std Dev(1), Mean Error Bars(1), Std Dev Lines(1), Mean of Means(1)));
// get XML fails for this platform
testXML = nw << Get XML;
Write(testXML);
ncbList = nw << XPath("\[//OutlineBox[text()="Means and Std Deviations"]//NumberColBox]\");
Re : Comment trouver la référence à un objet dans une plateforme en utilisant l'arborescence ?Lorsque vous utilisez un By(), le message renvoie une liste de plates-formes, pas une seule plate-forme.
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
ow = dt << Oneway(
Y( :height ),
X( :age ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Mean of Means( 1 )
);
Show( ow );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
ow_by = dt << Oneway(
Y( :height ),
X( :age ),
By( :sex ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Mean of Means( 1 )
);
Show( ow_by );
Enregistrer:
/*:
ow = Oneway[];
ow_by = {Oneway[], Oneway[]};Re : Comment trouver la référence à un objet dans une plateforme en utilisant l'arborescence ?En regardant les exemples XPath, j'ai réalisé que bon nombre de mes problèmes survenaient lorsque j'utilisais une variable "group by" dans la plate-forme.
Prenant l'exemple que je trouve dans le lien XPath :
Ce script fonctionne bien
// not grouped by sex
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
ow = dt << Oneway(
Y( :height ),
X( :age ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Mean of Means( 1 )
);
testXML = Report (ow) << Get XML;
Write( testXML );
/* Return a list of NumberColBox references */
ncbList = Report( ow )["Means and Std Deviations"] << XPath( "//NumberColBox" );
Si je groupe par sexe cependant, get XML génère déjà une erreur. Comment gérer cela ?
// group by sex
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
ow = dt << Oneway(
Y( :height ),
X( :age ),
By( :sex ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Mean of Means( 1 )
);
// get XML fails for this platform
testXML = Report (ow) << Get XML;
Write( testXML );
/* Return a list of NumberColBox references */
ncbList = Report( ow )[???]["Means and Std Deviations"] << XPath( "//NumberColBox" );
Re : Comment trouver la référence à un objet dans une plateforme en utilisant l'arborescence ?Merci, c'est à peu près ce que je cherchais. Je me souviens de la présentation "Steal this code" mais je ne la retrouvais plus non plus.
J'accepterai cela comme une solution, bien que je pense toujours que ce sujet mérite une explication plus concise sur l'apprentissage de JMP et/ou l'index de script dans JMP afin que les utilisateurs sachent par où commencer.
Re : Comment trouver la référence à un objet dans une plateforme en utilisant l'arborescence ?À mon avis, il n'y a pas de solution générique pour cela car il y a tellement de plates-formes différentes dans JMP et certaines d'entre elles se comportent différemment des autres. Mon approche générale consiste à jeter un œil au XML avec << Obtenir XML puis utilisez XPath (XPath est également agréable car il fonctionne en dehors de JSL) avec une combinaison de << frère, << enfant, << parent.... S'il s'agit d'un cas très simple, je pourrais utiliser l'indice de rapport Guide de script > Afficher les arborescences > Naviguer dans les rapports JMP > Afficher les références d'objet de zone .
Ci-dessous quelques liens :