Filtro de datos de casilla de verificaciónHola,
Quiero tener una casilla de verificación donde el usuario pueda seleccionar la opción para ver los datos. Intenté usar la función pero algo no parece estar correcto en mi código. ¿Podría por favor aconsejarme?
Names default to here( 1 );
dt = Open( "$SAMPLE_DATA/Time Series/Raleigh Temps.jmp" );
New window(
"Graph with filter",
Data filter context box(
H list box(
V list box(
Text Box( "Enter month:"),
check Box( {"1","2", "3"}, << set(2),
<<SETFUNCTION></SETFUNCTION>
secuencias de comandosRe: Filtro de datos de casilla de verificaciónHola @Jacksmith12 - la opción invisible realmente solo es útil para filtros globales.Esta opción elimina por completo el componente de visualización de los filtros de datos, pero los filtros locales dependen de la posición en el informe para determinar qué informes se filtran.Puede ocultar el filtro de otras formas, como la opción de visibilidad original que utilizó en la versión inicial del script:
lb << Visibility("Collapse");Re: Filtro de datos de casilla de verificación@danschikore @jthi
Modifiqué la función de llamada con código agregado para borrar. Si configuro el filtro de datos como invisible, no filtra las filas. No estoy seguro de lo que está mal. También adjunto la tabla de datos.
Esto es lo que parece
Names Default To Here( 1 );
dt = Current Data Table();
New Window( "Graph with filter",
modal,
Data Filter Context Box(
H List Box(
V List Box(
Text Box( "Select Bins:" ),
Radio Box(
{"1", "2", "N", "A","B","All"},
<<SETFUNCTION></SETFUNCTION>Re: Filtro de datos de casilla de verificaciónHola @Jacksmith12 - Si está utilizando el modo de visualización Radio Box integrado, "Ninguno seleccionado" es la opción añadida para seleccionar todos los niveles.Este es el estado en el que comienzan los filtros de columna y también el estado al que regresan cuando Borra el elemento de filtro.Cuando un elemento de filtro es "Borrar", no participa en el filtro y el script guardado no contiene una cláusula Where para esa columna.
Si necesita hacer esto desde su pantalla de filtro personalizado, llame a <
Re: Filtro de datos de casilla de verificaciónLo más probable es que el problema sea con la cláusula where, sugeriría agregar una referencia a la casilla de verificación para ayudarlo con la depuración y ver cómo se comporta y luego intente hacer que la función funcione fuera de la función. Después de que lo hagas como quieres, intenta implementarlo dentro de la función.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Time Series/Raleigh Temps.jmp");
New Window("Graph with filter",
Data Filter Context Box(
H List Box(
V List Box(
Text Box("Enter month:"),
cb = Check Box({"1", "2", "3"}, // add reference here for easier debugging
<<SET></SET>
Si pudiera usar Ocultar y excluir (o estados de fila) aquí, sería mucho más fácil que usar el filtro de datos local, pero esto no siempre es posible
Re: Filtro de datos de casilla de verificación@danschikore ¡Muchas gracias!
Pregunta rápida: quiero agregar una opción en el cuadro de opción "Mostrar todo" que mostrará todos los datos de los meses. ¿Alguna sugerencia?
Re: Filtro de datos de casilla de verificaciónEn general, creo que funciona mejor evaluar completamente las expresiones dentro de la cláusula Where que son constantes, antes de enviar el mensaje al filtro de datos.En este pequeño extracto, también cambié de Check Box a Radio Box.El problema con una casilla de verificación es que puede seleccionar rangos que en realidad no son posibles en el filtro (seleccione 1,3, pero no 2).
radio Box( {"1","2", "3"}, << set(2),
<<SETFUNCTION></SETFUNCTION>
Podría considerar cambiar el tipo de modelado para el Número de mes en este ejemplo a Nominal/Ordinal (ya sea en la tabla de datos o solo para el filtro, en el menú del triángulo rojo).Esto le daría más flexibilidad en la cláusula Where que admitiría el comportamiento del tipo Casilla de verificación, o puede simplemente usar los modos integrados Casilla de verificación y Casilla de radio del filtro.Este es un ejemplo de JMP 16:
dt = Open( "$SAMPLE_DATA/Time Series/Raleigh Temps.jmp" );
dt << Graph Builder(
Size( 400, 563 ),
Show Control Panel( 0 ),
Variables(
X( :"Month/Year"n ),
Y( :Temperature ),
Y( :Predicted Temperature, Position( 1 ) )
),
Elements( Line( X, Y( 1 ), Y( 2 ), Legend( 23 ) ) ),
Local Data Filter(
Add Filter(
columns( :Month Number ),
Modeling Type( :Month Number, Nominal ),
Where( :Month Number == {1, 3} ),
Display(
:Month Number,
N Items( 5 ),
"Check Box Display",
Find( Set Text( "" ) )
)
)
)
);