Salut la communauté JMP,
J'ai un problème apparemment simple que je n'ai pas réussi à résoudre.
Dans le script ci-dessous, j'essaie d'ajouter dynamiquement des annotations de texte à l'aide du "Script d'ajout de graphiques" en fonction des valeurs extraites du tableau de données principal (voir ci-joint). Le problème est que les valeurs dynamiques réelles sur les multiples trames sont toutes définies sur les dernières données valides extraites de la table de données au lieu d'être spécifiquement associées à chaque trame. Je soupçonne que je dois utiliser une combinaison de "Eval Expr" et "Expr" pour obtenir le résultat approprié, mais je n'ai pas pu trouver la bonne syntaxe pour cette opération. Toutes les suggestions sont les bienvenues.
Names Default to Here (1);
dt = data table ("TS_DATA_TABLE_MOCK");
fdr_data = dt:FDR << Get Values ();
show (fdr_data);
gb = dt << Graph Builder(
Size( 832, 835 ),
Fit to Window( "Off" ),
Variables(
X( :"DURATION (Week)"n ),
Y( :LSMEAN ),
Wrap( :M_ID ),
Overlay( :ARM ),
Interval( :STDERR )
),
Elements( Points( X, Y, Legend( 31 ) ), Line( X, Y, Legend( 32 ) ) ),
SendToReport(
Dispatch(
{},
"LSMEAN",
ScaleBox,
{Add Ref Line( 0, "Solid", "Gray", "", 2 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
31,
Base( 0, 0, 0, Item ID( "A", 1 ) ),
Base( 1, 0, 0, Item ID( "B", 1 ) )
)}
)
)
);
gbr = report (gb);
nfr = N items (gbr << Xpath ("//FrameBox"));
For (i = 0, i <= nfr-2, i++,
a_fdr4 = "fdr " || CHAR(Format(fdr_data [ (i*6) + 4], "PValue"));
a_fdr14 = "fdr " || CHAR(Format(fdr_data [ (i*6) + 6], "PValue"));
b_fdr4 = "fdr " || CHAR(Format(fdr_data [ (i*6) + 3], "PValue"));
b_fdr14 = "fdr " || CHAR(Format(fdr_data [ (i*6) + 5], "PValue"));
locfr = gbr [FrameBox (i+1)];
locfr << add graphics script (
Text size (8);
Text color (blue);
Text (Center Justified, {4, -0.15}, a_fdr4);
Text (Center Justified, {14, -0.15}, a_fdr14);
Text color (green);
Text (Center Justified, {4, -0.2}, b_fdr4);
Text (Center Justified, {14, -0.2}, b_fdr14);
);
);
Il est à noter qu'il s'agit d'une partie d'un script plus large qui sélectionne des lignes spécifiques à tracer dans ce format.
Meilleur,
ST
Si c'est Eval(EvalExpr()), essayez ceci :
Eval(EvalExpr(locfr << add graphics script(
Text Size(8);
Text Color(blue);
Text(Center Justified, {4, -0.15}, Expr(a_fdr4));
Text(Center Justified, {14, -0.15}, Expr(a_fdr14));
Text Color(green);
Text(Center Justified, {4, -0.2}, Expr(b_fdr4));
Text(Center Justified, {14, -0.2}, Expr(b_fdr14));
)));Au moins, les valeurs du graphique personnalisé semblent être mises à jour et les valeurs ne sont pas les mêmes dans chacun des groupes :

Salut jti,
Brillant, comme toujours. J'ai toujours du mal avec la construction avec Eval / Eval Expr / Expr.
Meilleur,
TS