¿Cómo obtener datos seleccionados por Data Filter () en una nueva tabla de datos (usando JSL)?Sé cómo hacer esto de forma interactiva, pero ¿cómo obtener datos seleccionados por Data Filter () de una tabla de datos principal en una nueva tabla de datos (subconjunto) a través de JSL? También necesito que la nueva tabla de datos del subconjunto se cree nuevamente (cerrando el subconjunto anterior) o que se actualice la anterior (si es posible) a medida que la selección cambia en el filtro de datos.
Automatización y secuencias de comandosRe: ¿Cómo obtener datos seleccionados por Data Filter () en una nueva tabla de datos (usando JSL)?¿Qué tipo de filtro de datos tiene y dónde? ¿Cómo realiza las selecciones el usuario (solo se deben usar las selecciones realizadas en el filtro de datos)? ¿Para qué se utiliza la tabla resultante?
Verifique el índice de secuencias de comandos para el filtro de datos

Obtener Filas Filtradas, Cláusula Obtener Dónde, Mostrar Subconjunto como algunas opciones
Re: ¿Cómo obtener datos seleccionados por Data Filter () en una nueva tabla de datos (usando JSL)?@jthi Es filtro de datos ()
Esto es lo que tengo hasta ahora. Funciona parcialmente. Necesito la tabla para actualizar o generar una nueva si cambia la selección. ¿Cómo hacer eso en JSL (en Cerrar ())?
Names Default To Here (1);
dt = Current Data Table();
nw = New Window("Select Parameters", << modal, << return result,
obj = dt << Data Filter(
//Location( {3000, -600} ),
Width( 315 ),
Conditional,
Add Filter(
columns( :Col1, :Col2, :Col3, :Col4),
Display( :Col2, "Check Box Display" ),
Display( :Col3, "Check Box Display" ),
Display( :Col4, "Check Box Display" ),
Display(
:Parameter,
N Items( 20 ),
"Check Box Display",
Find( Set Text( "" ) )
)
)
);
);
//obj << Get Filtered Rows;
dtNew = dt << subset( selected columns(1), selected rows(1));Comienzo con todas las casillas sin marcar para que el usuario seleccione en función de qué se genera la tabla de datos. Obtener filas filtradas no parece funcionar en mi caso.
Re: ¿Cómo obtener datos seleccionados por Data Filter () en una nueva tabla de datos (usando JSL)?¿Quiere que se genere una nueva tabla cada vez que cambie la selección? ¿O desea tener un modal que continuará después de que el usuario haya realizado las selecciones?
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("Select Parameters",
<<MODAL></MODAL>Re: ¿Cómo obtener datos seleccionados por Data Filter () en una nueva tabla de datos (usando JSL)?@jthi preferiría un se generará una nueva tabla cada vez que cambie la selección eliminando los valores antiguos de la tabla (útil para lo que quiero hacer a continuación). No sé cómo hacer esto, por lo tanto, hice el enfoque modal.
Re: ¿Cómo obtener datos seleccionados por Data Filter () en una nueva tabla de datos (usando JSL)?Puede usar el controlador de estado de filtro para desencadenar "eventos" cuando se cambia la selección en el filtro.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
f = Function({a},
Show(obj << get filtered rows);
);
nw = New Window("Select Parameters",
<<MODAL></MODAL>Re: ¿Cómo obtener datos seleccionados por Data Filter () en una nueva tabla de datos (usando JSL)?@jthi Gracias por apuntar hacia el controlador de estado de filtro. Sin embargo, su secuencia de comandos no hace exactamente lo que me gustaría para la forma de "reemplazar la tabla de datos existente con datos nuevos" de hacer esto. La ventana de filtro de datos debe permanecer abierta y los datos deben completarse/actualizarse/regenerarse en "dtNew" a medida que el usuario cambia la selección. ¿Posible?
Re: ¿Cómo obtener datos seleccionados por Data Filter () en una nueva tabla de datos (usando JSL)?¿No sería más fácil dejar que el usuario haga todas las selecciones y luego hacer que presione Aceptar cuando esté listo?
Re: ¿Cómo obtener los datos seleccionados por Data Filter () en una nueva tabla de datos (usando JSL)?Lo mejor es utilizar un filtro de datos local: un filtro de datos global cambia los estados de las filas de la tabla de datos.
Si tiene una ventana con dicho filtro de datos local (primera parte), sólo tiene que ejecutar este código y obtendrá el subconjunto correspondiente.
El código se puede usar para cada ventana de Informe y se puede agregar como un acceso directo a la barra de herramientas.
Alternativamente, se podría agregar un cuadro de botones a la ventana para activar la generación de la tabla de subconjunto.
Names Default to Here(1);
/*dt0 = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt0 << Graph Builder(
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y ) ),
Local Data Filter(
Add Filter( columns( :sex ), Where( :sex == "F" ) )
)
);*/
ldf = Try( Current Report()["Local Data Filter"] << get scriptable object, Stop() );
dt = ldf << Get Data Table();
WhereClause = ldf << Get where clause();
If( Not( Is Missing( WhereClause ) ),
Eval( Parse( Substitute( ldf << Get where clause(), "Select Where", "myRows= dt << get rows where" ) ) );
dt << subset( Rows( myRows ), Selected columns only( 0 ) );
);
Alternativamente.... *)
Re: ¿Cómo obtener datos seleccionados por Data Filter () en una nueva tabla de datos (usando JSL)?¿Qué tal el complemento de subconjunto dinámico (tabla de datos filtrables, actualizada) ?