Intento agregar un gráfico de creación de gráficos con filtro de datos local en Journal. Se ve bien en JMP cuando ejecuto JSL. Pero cuando exporto a PDF, las funciones de filtro de datos locales desaparecen. ¿Alguien puede aconsejarme qué está mal? Según los comentarios de Bryon, las funciones de filtro de datos locales no están presentes en el PDF, pero el filtro aún está presente con notas en el siguiente cuadro.
Otro problema que tengo es que genero 2 gráficos con filtro de datos y los envío al diario. Pero el primer gráfico con filtro de datos se muestra correctamente con la función de filtro. Pero el segundo filtro de datos del gráfico no está presente.
Gráficos correctos que esperaba dentro de PDF.

Adjunté mi JSL, muestra y pdf que generé.
Names Default To Here( 1 );
Clear Symbols();
Clear Log();
Close All( Data Tables, NoSave );
Close All( Journals, NoSave );
//Journal
nw = New Window( "Reports",
<<JOURNAL></JOURNAL>
Gracias danschikore. Pruebo tu guión. Incluyó la plataforma de filtrado de datos local en la revista. Pero el segundo gráfico todavía no ha realizado la función de filtro de datos. Si fuera así, no veré los puntos en el círculo rojo.
Todavía no entiendo completamente por qué la función de filtro de datos del primer gráfico funciona pero la función de filtro de datos del segundo gráfico no funciona. Y además de esto, tampoco estoy seguro de por qué hay un punto negro allí.

En el JSL original, se utiliza la función Report() al agregar el contenido a la revista. La función Report() en una plataforma devuelve un cuadro de visualización que contiene el esquema de la plataforma y todo lo que contiene, pero no incluye el filtro ni los conmutadores de columnas que están a un lado.
En el guión de Byron, envía el <
lub << Append(cht_uNV_EC_RD_Set_AfterCyc << Top Report);
lub << Append(cht_uNV_EC_RD_Erase_AfterCyc << Top Report);
Tampoco sé por qué no funcionaba. Pareció funcionar para mí, pero estoy en una Mac, por lo que podría ser parte de esto.
El enfoque que utilizo para el problema en el que está trabajando es un poco diferente y parece funcionar de manera sólida en muchas situaciones diferentes. Primero hago los gráficos, luego copio el script del gráfico en una expresión.
graph1=expr( "paste the graph script here" );
Un beneficio adicional de esto proviene del plegado de código (vaya a Archivo>Preferencias>Editor de secuencias de comandos y active esta opción). Puedo plegar todo el gráfico en una línea en el editor de scripts, lo cual es muy conveniente.
Una vez que haya completado todos los gráficos, puedo generar la visualización de la ventana con unas pocas líneas cortas.
win=new window("Example", vlist box( graph1, graph2);
Una vez que los gráficos están en la ventana, puedo enviarles mensajes para formatear y todo eso.
En este ejemplo, "win" es un objeto que se puede registrar o, más simplemente, guardar en un PDF o PowerPoint.
Cuando uso JSL, con muy pocas excepciones, no uso el diario como contenedor intermedio. Sin embargo, el diario es muy conveniente como contenedor para operaciones manuales.
¡Me alegro que esto haya ayudado!
Estimado,
byron
No estoy seguro. Cuando ejecuté tu script con la tabla de prueba. Ambos gráficos son iguales y ambos se pueden exportar a PDF. En los 4 (?) casos, el filtro de datos local se incluye con las cifras.
Jugué un poco con tu guión.
Envolví los dos gráficos y los filtros en una expresión.
Cuando hago la ventana, las coloco directamente en el vlistbox (Lub) de la ventana evaluando las expresiones allí.
Luego antepuse (al contrario de agregar, más o menos) el texto en la parte superior.
Una vez completada la ventana, la registré como último paso. Puede ser complicado trabajar con diarios, por lo que siempre trato de hacerlo al final. Guardé el diario como PDF y luego lo abrí para comprobar cómo se veía.
//*************************************
//dt_source = Data Table( "Wafer_Sort" );
dt_source = Open( "test.jmp" );
set = Expr(
cht_uNV_EC_RD_Set_AfterCyc = dt_source << Graph Builder(
Size( 1029, 643 ),
Show Control Panel( 0 ),
Variables(
X( :SplitGrp ),
X( :Wafer, Position( 1 ) ),
Y( :Name( "DL_uNV_EC_RD_Set_AfterCyc-DL_uNV_EC_RD_Set_AfterCyc,11510,-" ) )
),
Elements( Points( X( 1 ), X( 2 ), Y, Legend( 32 ) ) ),
SendToReport(
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {32, [-1]} ), Position( {-1} )}
)
)
)
);
erase = Expr(
cht_uNV_EC_RD_Erase_AfterCyc = dt_source << Graph Builder(
Size( 1029, 643 ),
Show Control Panel( 0 ),
Variables(
X( :SplitGrp ),
X( :Wafer, Position( 1 ) ),
Y( :Name( "DL_uNV_EC_RD_Erase_AfterCyc-DL_uNV_EC_RD_Erase_AfterCyc,11512,-" ) )
),
Elements( Points( X( 1 ), X( 2 ), Y, Legend( 32 ) ) ),
SendToReport(
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {32, [-1]} ), Position( {-1} )}
)
)
)
);
filters = Expr(
cht_uNV_EC_RD_Set_AfterCyc << Local Data Filter(
Add Filter(
columns(
:Name( "DL_uNV_EC_Set_PreCyc-DL_uNV_EC_Set_PreCyc,11504,-" ),
:Name( "DL_uNV_EC_RD_Set_PreCyc-DL_uNV_EC_RD_Set_PreCyc,11505,-" ),
:Name( "DL_uNV_EC_Erase_PreCyc-DL_uNV_EC_Erase_PreCyc,11506,-" ),
:Name( "DL_uNV_EC_RD_Erase_PreCyc-DL_uNV_EC_RD_Erase_PreCyc,11507,-" ),
:Name( "DL_uNV_EC_10k_Cycle-DL_uNV_EC_10k_Cycle,11508,-" )
),
Where( :Name( "DL_uNV_EC_Set_PreCyc-DL_uNV_EC_Set_PreCyc,11504,-" ) == 0 ),
Where( :Name( "DL_uNV_EC_RD_Set_PreCyc-DL_uNV_EC_RD_Set_PreCyc,11505,-" ) == 0 ),
Where( :Name( "DL_uNV_EC_Erase_PreCyc-DL_uNV_EC_Erase_PreCyc,11506,-" ) == 0 ),
Where(
:Name( "DL_uNV_EC_RD_Erase_PreCyc-DL_uNV_EC_RD_Erase_PreCyc,11507,-" ) == 0
),
Where( :Name( "DL_uNV_EC_10k_Cycle-DL_uNV_EC_10k_Cycle,11508,-" ) == 0 )
)
);
cht_uNV_EC_RD_Erase_AfterCyc << Local Data Filter(
Add Filter(
columns(
:Name( "DL_uNV_EC_Set_PreCyc-DL_uNV_EC_Set_PreCyc,11504,-" ),
:Name( "DL_uNV_EC_RD_Set_PreCyc-DL_uNV_EC_RD_Set_PreCyc,11505,-" ),
:Name( "DL_uNV_EC_Erase_PreCyc-DL_uNV_EC_Erase_PreCyc,11506,-" ),
:Name( "DL_uNV_EC_RD_Erase_PreCyc-DL_uNV_EC_RD_Erase_PreCyc,11507,-" ),
:Name( "DL_uNV_EC_10k_Cycle-DL_uNV_EC_10k_Cycle,11508,-" )
),
Where( :Name( "DL_uNV_EC_Set_PreCyc-DL_uNV_EC_Set_PreCyc,11504,-" ) == 0 ),
Where( :Name( "DL_uNV_EC_RD_Set_PreCyc-DL_uNV_EC_RD_Set_PreCyc,11505,-" ) == 0 ),
Where( :Name( "DL_uNV_EC_Erase_PreCyc-DL_uNV_EC_Erase_PreCyc,11506,-" ) == 0 ),
Where(
:Name( "DL_uNV_EC_RD_Erase_PreCyc-DL_uNV_EC_RD_Erase_PreCyc,11507,-" ) == 0
),
Where( :Name( "DL_uNV_EC_10k_Cycle-DL_uNV_EC_10k_Cycle,11508,-" ) == 0 )
)
);
);
nw = New Window( "Reports",
hlb = H List Box(
lub = vlist Box( set,erase )
)
);
filters;
lub << prepend( tb = Text Box( "uNV RD_Set & RD_Erase after 10k
" ));
tb << Set Font Size( 14 ) << Set Font Style( "Bold" ) << Justify Text( "center" );
tb << set width(700) << set wrap(700);
nw<<JOURNAL></JOURNAL>
<P> </P>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screen Shot 2020-10-27 at 11.53.59 PM.png" style="width: 999px;"><span class="lia-inline-image-display-wrapper" image-alt="Screen Shot 2020-10-27 at 11.53.59 PM.png" style="width: 999px;"><img src="https://us.v-cdn.net/6038925/uploads/images/27818i6F6E0CA19ED1A467/Screen%20Shot%202020-10-27%20at%2011.53.59%20PM.png" role="button" title="Screen Shot 2020-10-27 at 11.53.59 PM.png" alt="Screen Shot 2020-10-27 at 11.53.59 PM.png" /></span></SPAN></P>
<P> </P>Los filtros de datos locales no están activos en la vista PDF, por lo que las condiciones para la selección del filtro se informan debajo del gráfico.
Si desea que se muestre el filtro de datos local, simplemente guarde el informe en PDF sin enviarlo a un Diario.
Además, la exportación a PDF puede funcionar de manera diferente en una Mac o en la versión 15.2, donde esto funciona para mí.