Ayuda con el cuadro de contexto del filtro de datos ()Tengo problemas para insertar un cuadro de contexto de filtro de datos en mi secuencia de comandos. Mi secuencia de comandos se usa para extraer datos a través de SQL, realizar algunas funciones de tabla y luego escupir gráficos dentro de las ventanas con pestañas. Esto lo hace visualmente más agradable que lo que estaba haciendo, ya que cada salida individual tenía una nueva ventana asociada y los ingenieros de prueba tendrían que hacer clic en varios botones.
He leído estos foros además de leer la guía de secuencias de comandos. El problema que tengo es cómo insertar esto después de que se completen las gráficas y las distribuciones. De la guía de secuencias de comandos.
Traté de usar la misma filosofía que el Sr. txnelson me ayudó, pero no puedo hacer que cree un cuadro temporal y luego completarlo después de hacer clic en mis botones. Nuevamente, cualquier y toda ayuda es apreciada.
d
guía,
// --------------------------- From Scripting Guide -------------------------
dt = Open( "$SAMPLE_DATA/Hollywood Movies.jmp" );
win = New Window( "Shared Local Filter",
Data Filter Context Box(
// enclose the h list box that contains distribution and graph builder
H List Box(
// add the local data filter
// NOTE: My tables aren't created yet so i am getting an error here.
dt << Data Filter( Local ),
dt << Distribution(
Weight( :Profitability ),
Nominal Distribution(
Column( :Lead Studio Name )
),
Nominal Distribution(
Column( :Genre )
),
Histograms Only
),
dt << Graph Builder(
Variables(
X( :Genre ),
Y( :Domestic Gross ),
Y( :Foreign Gross, Position( 1 ) )
),
Show Control Panel( 0 ),
Elements(
Bar( X, Y( 1 ), Y( 2 ),
Legend( 2 ),
Bar Style( "Side by side" ),
Summary Statistic( "Mean" )
),
Frequencies( 0 ),
)
)
)
)
);
// --------------------------- My Data Pull Script Simplified -------------------------
Names Default To Here( 1 );
Close All( Data Tables, No Save );
Close All( Reports );
Clear Log();
Close All( journals, no save );
Clear Symbols();
sqlstartA = Today();
sqlendA = Today();
sqlstart = Format( sqlstartA, "yyyy-mm-dd" );
sqlend = Format( sqlendA, "yyyy-mm-dd" );
/************************************************************************************************************************************************/
/* */
/* ---------------------------------------------------------------[START EXAMPLE] ----------------------------------------------------------- */
/* */
/************************************************************************************************************************************************/
hay = New Window( "Test Database Tools",
V List Box(
V List Box(
Text Box(
"Product Engineering Database Tools",
<<SET font="" size=""></SET>
Re: Ayuda con el cuadro de contexto del filtro de datos ()Eso funcionó perfecto, gracias. Tengo que leer sobre "Is Scriptable" y ver de qué otra manera podría usarse
Re: Ayuda con el cuadro de contexto del filtro de datos ()Sí, noté por primera vez que "Cargar los datos de prueba" duplica partes de la interfaz (el filtro) y, como usted señala, "Haga clic aquí cuando haya terminado" también duplica la interfaz de usuario.Mencionó que tenía problemas para eliminar el cuadro, pero no estaba seguro si deseaba (a) eliminar los controles para que solo se puedan usar una vez (b) eliminar el filtro para poder reemplazarlo con otro.Mi respuesta anterior fue demostrar una forma de (a) sin tener que eliminar nada, simplemente ocultar y mostrar diferentes partes de la ventana según el estado.
Se adjunta otra modificación del script que cambié para eliminar los componentes.Guardo una referencia a los cuadros que se agregan a la pantalla.Cada vez que se agreguen las casillas, primero llamará a << Eliminar casilla en las casillas agregadas anteriormente.
Re: Ayuda con el cuadro de contexto del filtro de datos ()Mis disculpas. Si ejecuta el script que arregló y hace clic en el botón "Haga clic aquí cuando haya terminado", se sigue agregando el cuadro de visualización. Podría haber jurado que lo señalaste cuando respondiste, pero ahora me doy cuenta de que estaba relacionado con un tema diferente.
Re: Ayuda con el cuadro de contexto del filtro de datos ()No tengo claro lo que estás tratando de hacer dentro del bucle.Si desea que los controles desaparezcan, puede eliminarlos o simplemente ocultarlos.Ocultarlos puede no ser lo ideal (todavía están en el árbol de visualización), pero este es un enfoque común.Aquí hay un ejemplo que lleva al usuario a través de múltiples pasos de entrada, ocultando los controles en cada paso:
New Window( "Wizard Interface",
top = H List Box(
// Control panels
controls = Panel Box( "Inputs",
panel1 = V List Box(
Text Box("Panel 1"),
Button Box( "Next",
panel1 << Visibility( "Collapse" );
panel2 << Visibility( "Visible" );
)
),
panel2 = V List Box(
Text Box("Panel 2"),
Button Box( "Next",
panel2 << Visibility( "Collapse" );
panel3 << Visibility( "Visible" );
),
<<VISIBILITY></VISIBILITY>
¿Es esto similar a lo que quieres hacer?
Re: Ayuda con el cuadro de contexto del filtro de datos ()Creo que puedo agregar esa ventana usando un bucle for. Exactamente como puse el código i < =
Gracias
For( i = 1, i <= /* not sure what i would put in here */ , i ++,<BR /> sqlstart = Format( sqlstartA, "yyyy-mm-dd" );<BR /> sqlend = Format( sqlendA, "yyyy-mm-dd" );<BR /> Show( sqlstart, sqlend );<BR /> lineup1 << Append(<BR /> V List Box(<BR /> Spacer Box( Size( 5, 5 ) ), <BR /> Text Box( "Select Your Wafer(s)", <BR /> << Set Font Size( 15 ), <BR /> << Justify Text( "Center" ) <BR /> ),<BR /> Spacer Box( Size( 5, 15 ) ),<BR /> loaddata = Button Box( "Load The Test Data",<BR /> dt = current data table();<BR />// dt = Open( "$SAMPLE_DATA/big class.jmp", invisible )<BR /><BR />// Insert End of Script<BR />
Re: Ayuda con el cuadro de contexto del filtro de datos ()Como señaló en su respuesta, el problema con "Haga clic aquí cuando termine" agrega la ventana cuando se hace clic en ella. He intentado << Eliminar el cuadro () y algunas otras cosas que no han tenido éxito. Sin embargo, logré insertar algunas instrucciones Throw() cuando no se seleccionaron fechas ni obleas. Este está demostrando ser un desafío. ¿Alguna sugerencia?Re: Ayuda con el cuadro de contexto del filtro de datos ()Gracias por tu ayuda y la de Jim. No pensé en absoluto en el recálculo automático. Y un agradecimiento especial por la adición de Data Filter Context Box(). Estaba tratando de usar eso, pero no pude encontrar la ubicación correcta.
En cuanto al calendario, estoy totalmente de acuerdo contigo. Conviértalo en un cuadro de contorno que se pueda abrir y cerrar.
La ventana principal requiere algunas adiciones y ajustes una vez que obtenga todos los gráficos, distribuciones, Fit Y by X y Wafer Maps (kit de herramientas de semiconductores) en las ventanas correspondientes. Los problemas con los que usted y Jim están ayudando son la fruta al alcance de la mano cuando se trata de esta herramienta de análisis. Siento que el mayor obstáculo será cómo manejo los valores atípicos. Encontré GrubbsOutlierTest3.jsl en estos tableros y lo usaré de alguna manera o forma.
Gracias de nuevo.
d
Re: Ayuda con el cuadro de contexto del filtro de datos ()Si bien no puede cambiar el tamaño del objeto del cuadro de calendario, puede usar un cuadro de edición de números en su lugar para el mismo propósito. Establezca el formato en el estilo de fecha que desee y luego presentará un calendario durante la interacción, pero de lo contrario, es solo un cuadro pequeño.
Names Default to Here( 1 );
nw = New Window( "Date Entry",
Outline Box( "Calendar Box Substitute",
neb = Number Edit Box( 01Jan2019,
<< Set Format( Format( "m/d/y", 12 ) )
)
),
H List Box(
Button Box( "OK",
date = neb << Get;
),
Button Box( "Cancel" )
)
);
Re: Ayuda con el cuadro de contexto del filtro de datos ()He adjuntado una versión actualizada de su script.Como señala Jim, el recálculo automático no está configurado en la distribución.La razón de esto es que sus filtros de datos son filtros globales y no filtros locales.En su secuencia de comandos, observe que, si bien todos los informes parecen actualizarse, los estados de las filas de la tabla de datos están cambiando y los resultados se están actualizando en ambas pestañas.
He hecho dos cambios para que los filtros sean locales:
- Agregue la opción "Local" a los comandos Data Filter ()
- Cambió su HListBox() a un cuadro de contexto de filtro de datos() en cada pestaña.Esto mantiene el efecto de cada filtro local en la pestaña.
El Filtro de datos locales establecerá automáticamente el indicador de Recálculo automático en cada plataforma asociada.
No sé de una manera de hacer el calendario más pequeño.No estoy seguro de qué flujo de trabajo busca después de la selección de la fecha inicial.Puede considerar dos ventanas, una ventana de inicio con selección de fecha y una ventana de resultados que muestre los informes.Puede incluir el intervalo de fechas como subtítulo.
Si desea mantener ambos en la misma ventana, puede colocar los calendarios dentro de un nodo de esquema que use <Re: Ayuda con el cuadro de contexto del filtro de datos ()Eso tiene mucho sentido. Gracias por su asistencia.
Re: Ayuda con el cuadro de contexto del filtro de datos ()La razón por la que su distribución no cambia cuando cambia las selecciones en su filtro de datos es porque la opción "Recalcular automáticamente (1)" no está configurada en el JSL para las distribuciones.
Con respecto al cambio de tamaño de los cuadros de calendario, no veo una forma de cambiar su tamaño. Algún otro miembro de la comunidad puede tener un método, pero no puedo encontrar uno.
Re: Ayuda con el cuadro de contexto del filtro de datos ()
Sr. Nelson,
Traté de poner eso en mi script y parece que solo está actualizando una parte de los gráficos/distribuciones.Adjunté una secuencia de comandos actualizada que es exactamente lo que estoy tratando de hacer con las adiciones de un par de otras pestañas detrás de las dos que ves.
También he adjuntado un buen ejemplo de un conjunto de datos que estoy extrayendo. Esta tabla incluye 3 obleas de datos para darle una idea.
Además, me gustaría saber si hay alguna forma de cambiar el tamaño de los cuadros del calendario para que ocupen menos espacio, lo que deja más espacio para el análisis.
Gracias
Re: Ayuda con el cuadro de contexto del filtro de datos ()Lo siento por no especificar.
Sí, un filtro de datos local que afecta a todos los gráficos en la pestaña,... Veré tu guión en un momento.
Gracias
Re: Ayuda con el cuadro de contexto del filtro de datos ()¿Está buscando agregar un(os) filtro(s) de datos local(es), para cuadros/gráficos específicos?
¿Está buscando agregar un filtro que cambie todos los gráficos en función de un solo filtro?
¿Está buscando que el usuario haga clic en una de las barras del histograma y, desde las filas seleccionadas, cambie los otros cuadros y gráficos?
Se adjunta una modificación de su secuencia de comandos que agrega un filtro de datos a la izquierda de la salida de la plataforma de distribución y, cuando se selecciona, cambia todos los gráficos adjuntos a la tabla de datos.