Hola, comunidad de JMP:
Tengo un problema aparentemente simple que no he podido resolver.
En el siguiente script, estoy tratando de agregar anotaciones de texto dinámicamente usando el "Agregar script de gráficos" basado en valores extraídos de la tabla de datos principal (ver adjunto). El problema es que los valores dinámicos reales en los múltiples marcos se establecen en los últimos datos válidos extraídos de la tabla de datos en lugar de estar asociados específicamente con cada marco. Sospecho que necesito usar una combinación de "Eval Expr" y "Expr" para obtener el resultado apropiado, pero no he podido encontrar la sintaxis correcta para esta operación. Todas las sugerencias son bienvenidas.
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);
);
);
Es de destacar que esta es una parte de un script más grande que selecciona filas específicas para trazar en este formato.
Mejor,
TS
Si se trata de Eval (EvalExpr ()), intente esto:
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));
)));Al menos los valores en el gráfico personalizado parecen actualizarse y los valores no son los mismos en cada uno de los grupos:

Hola Jthi,
Brillante, como siempre. Todavía estoy luchando con la construcción con Eval / Eval Expr / Expr.
Mejor,
TS