J'ai un script qui crée jusqu'à huit tracés très similaires dans le cadre de l'analyse. Le nombre de tracés peut varier en fonction de l'existence ou non de colonnes correspondantes. Les seules différences dans les tracés sont les colonnes utilisées pour les données de l'axe y et les titres. Dans un souci d'efficacité, j'essayais d'éviter de simplement écrire chaque intrigue de manière séquentielle. J'ai essayé d'utiliser une boucle for extraite de listes préétablies de noms et de titres de colonnes, mais je n'ai pas réussi à la faire fonctionner. Est-ce réellement possible dans JMP 13 ? J'ai joint la section de script de ce que j'ai essayé.
Merci pour l'aide! J'ai réussi à faire fonctionner le script !
Quelques problèmes.
1. Votre code Graph Builder avait un ")" mal placé qui terminait le code avec une erreur d'analyse.
2. La fonction :Name() ne résout pas les éléments, vous ne pouvez donc pas avoir quelque chose comme : cols[f] comme valeur pour la fonction.Il doit être passé juste une chaîne entre guillemets,
Le code ci-dessous corrige les deux problèmes
For( f = 1, f <= N Items( plots ), f++,
Eval(
Substitute(
Expr(
__plots__ = Graph Builder(
Size( 1267, 905 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :RPN, Order By( __col__ ), Descending, Order Statistic( "Mean" ) ) ),
Y( __col__ ),
Elements( Bar( X, Y, Legend( 4 ), Label( "Label by Value" ) ) ),
SendToReport(
Dispatch( {}, "Graph Builder", OutlineBox, {Set Title( outline titles[f] )} ),
Dispatch( {}, "RPN", ScaleBox, {Max( 10.5 ), Label Row( Label Orientation( "Angled" ) )} ),
Dispatch( {}, "400", ScaleBox, {Legend Model( 4, Properties( 0, {Fill Color( 53 )} ) )} ),
Dispatch( {}, "graph title", TextEditBox, {Set Text( plot titles[f] )} ),
Dispatch( {}, "X title", TextEditBox, {Set Text( "RPN" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "Affected Lots" )} ),
Dispatch( {}, "400", LegendBox, {Set Title( "" )} )
)
)
),
Expr( __plots__ ), Parse( "Plots" || Char( f ) ),
Expr( __col__ ), Parse( ":Name(\!"" || Char( cols[f] ) || "\!")" )
)
)
);