Generar una página de tabla de contenidoEstoy generando algunos scripts para el análisis de datos de caracterización de semiconductores. Cada informe contiene alrededor de 300 pruebas. A cada prueba se le asigna un cuadro de esquema que luego tiene una serie de gráficos y datos dentro de él. Quiero generar una tabla de contenido al comienzo del informe para que las personas puedan hacer clic en las pruebas que les interesan. ¿Hay alguna manera de generar un enlace en el que se pueda hacer clic que lo lleve al cuadro de esquema apropiado en el informe? No he encontrado nada aquí en los foros. Para mi propio análisis y presentaciones, usaré jmp, pero también publicaré en html para que otros usuarios vean los datos por sí mismos si eso hace la diferencia.
Re: Generar una página de tabla de contenidoGracias John, eso funciona y cubre todas mis preguntas.
La lista V y la lista H son parte del código completo que no copié, hay 4 gráficos por prueba y 2 tablas, por lo que hay un poco de código de diseño involucrado.
Re: Generar una página de tabla de contenidoPuede usar el parámetro "Invisible" en open() y rw << showWindow(0) cuando crea ventanas de informes.
Aquí hay un ejemplo:
CharDt = open("$sample_data/Big Class.jmp", "Invisible");
testlist = CharDt << get column names ("Continuous", "string");
webreport = New Web Report();
For( k = 1, k <= N Items(testlist), k++,
rw = New Window(Char(Eval(testlist[k])));
rw << Show Window(0);
rw << Append(ob = Outline Box (Eval(testlist[k]),
//V List Box(
H List Box( Distribution(
Continuous Distribution( Column((Eval(testlist[k] ) ),
)
);
//);
));
));
webreport << Add Report( ob );
);
Comenté el cuadro de lista V () ya que no es necesario para un solo informe como la distribución, pero es posible que lo necesite si está diseñando varios gráficos dentro de cada ventana de informe.
Re: Generar una página de tabla de contenidoOk, sí, web report() e index() funcionarán muy bien. Un par de preguntas después de mi ejemplo de código:
// construct report window
testlist = CharDt << get column names ("Continuous", "string");
webreport = New Web Report();
For( k = 1, k <= N Items(testlist), k++,
rw = New Window(Char(Eval(testlist[k])));
rw << Append(ob = Outline Box (Eval(testlist[k]),
V List Box(
H List Box(
[construction of various charts and tables]
);
);
));
webreport << Add Report( ob );
);
);
webreport << Index(
Title( "Characterization Report" ),
Description( "Characterization Report" ),
Font( "Arial Narrow", "Bold" ),
Theme( "Black" ),
Style( "Grid" )
);
file = webreport << Save( "$TEMP" );
If( !Is Empty( file ),
Web( file )
);
¿Hay alguna manera de evitar que se abran las ventanas para no enviar spam a mi pantalla con 300 de ellas? O, alternativamente, ¿hay un contenedor (quizás mejor) que pueda usar que no sea "nueva ventana" que pueda pasar como el objeto de informe web que nunca aparecerá en la pantalla en primer lugar? Traté de pasar el cuadro de esquema pero no lo aceptó, y no experimenté con nada más.
Re: Generar una página de tabla de contenidoDe nada.
Por favor, hágame saber si hay algo más que pueda hacer para ayudar.
Re: Generar una página de tabla de contenidoGracias chicos. Comenzar con todas las ventanas cerradas es el tipo de solución completamente obvia en la que nunca hubiera pensado y he configurado mi secuencia de comandos para que lo haga por ahora. John, experimentaré con la función de informes web cuando tenga tiempo. Si se me ocurre algo útil, lo publicaré aquí en el futuro. La otra opción que he pensado (menos deseable) es post-procesar el propio html para crear una tabla de enlaces al comienzo del informe, pero eso requeriría un aprendizaje adicional con un editor de HTML.
Re: Generar una página de tabla de contenidoPara las presentaciones en JMP, si estuviera dispuesto a crear un Diario con todos los recuadros cerrados inicialmente, podrían servir como tabla de contenido.
Aunque esto probablemente podría publicarse tal cual en HTML interactivo, me gustaría ofrecer una solución diferente para publicar en HTML interactivo con una tabla de contenido.En la web, la creación de una página web muy larga (300 pruebas) puede no ser deseable porque puede tener problemas para cargarse en el navegador, especialmente si se ve en un dispositivo móvil.
Si en lugar de crear un informe largo con 300 gráficos, creó 300 gráficos separados, cada uno en su propia ventana, puede publicarlos en archivos html separados y crear la tabla de contenido usando los siguientes comandos JSL:
- webReport = Nuevo Informe Web()
- webReport << Agregar informe (reportWindow) [300 veces] o webReport << Agregar informes (reportWindows)
- webReport << Index() para personalizar la tabla de contenido
- archivo = webReport << Guardar().
Comenzaría mirando ejemplos en el índice de secuencias de comandos para cada una de estas funciones.
Si desea explorar cómo funciona esto en la GUI antes de escribir cualquier código JSL, busque 'Crear informe web...' en el menú Ver en JMP 13 o 'Publicar' en el menú Archivo en JMP 14.
Espero que esto ayude.
~Juan
Re: Generar una página de tabla de contenidoNo estoy al tanto de la capacidad de desplazarme a un cuadro de esquema específico dentro de un diario, sin embargo, puedo imaginarme haciendo clic en una entrada de la tabla de contenido y abriendo una nueva ventana con una copia del cuadro de esquema que se muestra en la nueva ventana , o bien, la acción de hacer clic en la entrada de la tabla de contenido cierra todos los cuadros de esquema y luego expande solo el cuadro de esquema para la entrada especificada en la que se hizo clic.