Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)Instale el complemento y luego ejecútelo desde el menú principal: Tablas > Subconjunto dinámico


Objetivo:
Este complemento crea un subconjunto dinámico, que es una vista filtrable de su tabla de datos abiertos para que pueda ver solo las filas y columnas que cumplen con las condiciones que especifique.
Ejemplo de vídeo:
Instrucciones de uso:
- Primero descargue, luego abra el complemento para instalar el nuevo elemento de menú "Subconjunto dinámico" en su menú de Tablas.
- Con una tabla de datos ya abierta, seleccione el elemento del menú Tablas > Subconjunto dinámico. Se abrirá una nueva ventana con un subconjunto vinculado de su tabla original, incluidos dos cuadros de esquema a la derecha, Filtro de columnas y Filtro de datos .
- El columnas Filtrar El cuadro de esquema le permite seleccionar qué columnas desea ver en su subconjunto dinámico.
- El Filtro de datos El cuadro de esquema contiene un filtro de datos JMP donde puede especificar los criterios que deben cumplir sus datos para que se muestren en el subconjunto dinámico.
- Usar el Filtro de columnas , seleccione las columnas que desea ver en el subconjunto dinámico. Golpear Claro, o anule la selección de todas las columnas para mostrar todas las columnas disponibles en el subconjunto dinámico.
- Usar el Filtro de datos , seleccione una columna o columnas para filtrar y haga clic en el signo más. Luego, en las áreas de selección resultantes, elija qué criterios deben cumplir sus datos para ser incluidos en el subconjunto dinámico. Para obtener más detalles sobre el uso del filtro de datos JMP, vea este vídeo de ejemplo ( Usando el filtro de datos locales ), o lea sobre ello en el documentación JMP .
- Después de realizar selecciones, puede usar las plataformas JMP como de costumbre en su subconjunto dinámico y solo las filas y columnas que haya seleccionado estarán disponibles y se usarán para el análisis.
- Guarde una vista seleccionando el Triángulo rojo junto a Filtros > Guardar vista en tabla de datos. Esto guardará un script en la tabla de datos con la información necesaria para recrear su subconjunto dinámico. Puede aplicar esta vista desde dentro de un subconjunto dinámico existente o iniciarla directamente desde su tabla si ya no hay ningún subconjunto dinámico abierto.
Notas de uso:
- Si primero selecciona columnas en la tabla original y luego selecciona Complementos > Subconjunto dinámico, las columnas seleccionadas se agregarán automáticamente como criterios filtrables en la tabla. Filtro de datos sección.
- El subconjunto dinámico es un subconjunto vinculado de su tabla original, por lo que las selecciones que realice en el subconjunto dinámico seleccionarán las filas correspondientes en su tabla original.
- El subconjunto dinámico está bloqueado de forma predeterminada. Para desbloquear, seleccione el Triángulo Rojo al lado del nombre de la tabla y desmarque "Bloquear tabla de datos".

Tenga en cuenta que, como ocurre con cualquier subconjunto vinculado en JMP, muchos Los cambios que realice en el subconjunto dinámico no afectarán la tabla original, como la creación de nuevas columnas. Alteraciones de datos en celdas y propiedades de columnas. voluntad impactará su mesa original. Cualquier Los ajustes que realice en las columnas o en el filtro de datos revertirán su tabla a su tabla original.
- Tú Puede seleccionar Tablas > Subconjunto dinámico sin ninguna tabla abierta y será Se le pide que elija una mesa. En este caso, la tabla original está oculta a la vista de forma predeterminada, pero se puede mostrar seleccionando la tabla en el elemento de menú Ventana > Oculto.
Este complemento crea una tabla de datos filtrable para que pueda encontrar filas que cumplan con las condiciones que especifique.
Análisis exploratorio de datosUtilidadesRe: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)Ah, sí, creo que podría tener una idea de lo que está pasando. Cuando tenga un momento, encenderé mi máquina virtual y veré si puedo hacer que funcione en un proyecto en Windows. También veo que incluso en Mac las cosas no funcionan perfectamente, ya que el cuadro de contorno para el filtro de datos desapareció. ¡Gracias por informarme sobre el defecto!
Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)@Julian Recibo el siguiente mensaje de error cuando intento en Windows
Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)Hola @Sburel ,
¡Gracias por hacérmelo saber! Investigué esto y, al menos en Mac, puedo confirmar que la tabla de datos no aparecerá hasta que hagas algún tipo de selección en un filtro. Una vez que lo haces, parece que todo funciona como se esperaba. Eso funciona para ti? Todavía no estoy seguro de por qué sucede esto, pero tendré que investigarlo cuando trabaje en una próxima versión.

Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)@Julian No estoy seguro de saberlo, pero este complemento no parece funcionar en el contexto de un proyecto.
Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)@jthi ¡gracias por tu respuesta!
Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)Gracias por todos estos comentarios, @jthi ! Sugerencias destacadas. Cuando pueda sacar tiempo para trabajar en una próxima iteración, ciertamente intentaré incorporar algunos de estos.
Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)@xxvvcczz El código parece estar usando For Each, por lo que se requiere como mínimo JMP16 (también lo mismo según el archivo addin.def minJmpVersion=16).
@Julian Recién estoy comenzando con este complemento, pero parece una gran adición a JMP. Me vinieron a la mente un par de sugerencias que podrían valer la pena considerar para algunas versiones futuras:
- Agregue información al elemento del menú, que se trata de un complemento. Podría evitar confusiones en el futuro cuando alguien se pregunte dónde está mi elemento de menú Subconjunto dinámico (he hecho esto, por ejemplo, para Ordenar columnas seleccionadas mientras lo agrego al menú Columnas)
- Habilite las barras de herramientas para la ventana. Aún mejor sería si pudiera forzar que las barras de herramientas sean las mismas que se usan para las tablas de datos, pero no estoy seguro de si eso es posible (tal vez un elemento de la lista de deseos). Esto haría que sea muy rápido iniciar los análisis favoritos del usuario directamente desde la tabla de datos filtrados (más rápido que buscarlos en los menús).
- Si encajara bien en algún lugar, agregue el recuento de cuántas filas tiene la tabla original.
Algunos "problemas" que noté:
- Si tuviera que cambiar el tamaño de mi tabla dinámica y luego filtrar -> mi tabla a veces volverá al tamaño original. Lo más probable es que esto se active cuando se elimina el cuadro anterior y se agrega uno nuevo. (Usando JMP16 en Windows 10).
- La comparación de las columnas seleccionadas inicializadas no funciona como se esperaba debido a que IsEmpty({}) es 0, no 1. N Elementos() > 0 debería funcionar.
- Al crear un nuevo subconjunto con datos filtrados, creo que sería mejor evitar usar << Select Rows(rowsSelected) y luego un subconjunto con filas seleccionadas, ya que esto provocará selecciones "innecesarias" en la tabla original (esto provocará cierta desaceleración). En su lugar, el subconjunto se podría realizar utilizando Filas (filas seleccionadas). Esto también podría permitirle eliminar algunas << Clear Selects.
También creo que sería posible hacer lo que @Sburel está sugiriendo (si lo entendí correctamente), pero requeriría bastantes secuencias de comandos y lo más probable es que parte del código actual requiera reescritura. Mi sugerencia sería agregar algunos controles (aunque esta solución podría causar cierta confusión):
- Casilla de verificación/casilla de radio que permitiría al usuario usar Resumen en lugar del Subconjunto directo de la tabla. La tabla Resumen se basaría en las columnas de filtro seleccionadas. Esto también podría estar "oculto" en el cuadro de esquema, pero creo que sería mejor mostrarle al usuario qué opción se está utilizando actualmente.
- Cuando el usuario encuentra un valor que desea modificar, puede seleccionar el valor. Esto también seleccionará la misma fila en la tabla original (y conocemos la columna del subconjunto dinámico << Obtener columnas seleccionadas). Luego, el usuario podría presionar un botón que abriría una ventana que le permitiría cambiar el valor.
- Después de cambiar el valor, vuelva a ejecutar el subconjunto dinámico para actualizarlo
Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)¿Con qué versión de JMP es compatible este complemento?
Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)Hola Sebastián,
¡Me alegro de haber entendido completamente el desafío al que te enfrentas! Es interesante y cuanto más pienso en ello, más formas puedo imaginar que sea útil tener una forma de hacerlo a través de una tabla de resumen o de subconjunto. Absolutamente lo tendré en cuenta en caso de que algo cambie que lo haga posible.
Julian
Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)Hola @Julian Su video describe perfectamente el problema que imaginé.Esperaba poder aplicar correcciones dentro de las tablas de subconjuntos de filtros dinámicos, pero como usted dijo, no es posible.
No obstante, es una gran herramienta en la que confiaré con frecuencia.
Muchas gracias
Sebastián
Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)Hola @Sburel ,
Creo que entiendo mejor lo que buscas. No creo que podamos lograrlo exactamente debido a la forma en que los subconjuntos vinculados funcionan con valores cambiantes (no hay manera de que pueda escribir cosas para que los valores cambiados en una tabla de resumen cambien todos esos valores en la tabla original). Sin embargo, creo que hay algo que puedes hacer aquí, que es crear primero una tabla de resumen y luego usar un subconjunto dinámico para rastrear los valores anómalos. Aquí hay un ejemplo bastante artificial que utiliza un conjunto de datos de muestra donde hago precisamente eso para rastrear las filas que deseo cambiar y luego volver a la tabla original para cambiar esos valores. ¿Quizás algo como esto funcionaría para tu situación?
Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)@Julian Ajustar X por Y no sería útil en el contexto de recodificación y/o para listas muy grandes (>100 de filas). ¿Qué tal tener la opción, cuando ya hay varias columnas seleccionadas, de tener la opción de ejecutar el resumen en las columnas seleccionadas mientras están vinculadas a la tabla original y luego mostrar el filtro dinámico en la tabla de resumen resultante? Lo intenté de esa manera, pero no parece permitir la modificación de la tabla resultante a pesar de que la opción "bloquear tabla de datos" está deshabilitada.
Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)@Sburel : Creo que entiendo lo que estás tratando de hacer allí y puedo ver lo complicado que podría ser con una tabla más grande para rastrear las cosas. No estoy seguro de no poder pensar en una forma sencilla de adaptar este complemento para hacer este tipo de cosas. Pero me pregunto si una plataforma como Fit Y by X o incluso Graph Builder podría ser útil para detectar esos niveles anómalos que ocurren en la intersección de dos variables categóricas. Por ejemplo, un diagrama de mosaico hace un buen trabajo al mostrar las intersecciones únicas y visualmente será obvio cuando hay algo que no encaja. Por ejemplo, en su ejemplo:

Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)@Julian lo que tengo en mente es algún tipo de filtrado de resumen dinámico que pueda usarse para la recodificación "relativa". Por ejemplo, es posible que tenga una tabla grande pero que solo le interesen unas pocas columnas. En esas columnas, es posible que aparezcan muchos términos redundantes cuando utilice la versión actual, lo que le proporciona un subconjunto dinámico.
La opción de ver solo los términos únicos para un grupo selecto de columnas facilitaría la realización de modificaciones y, al mismo tiempo, se vigilaría la relación entre los términos, algo que no se puede hacer fácilmente cuando se utiliza la función de recodificación.
Adjunto una tabla de ejemplo en la que las columnas tipo 1 y tipo 2 se examinarían usando su complemento. Un término está mal. En un escenario resumido combinado con filtrado dinámico, sería más fácil identificar el error y solucionarlo.
New Table( "veggies",
Add Rows( 18 ),
New Column( "Column 1",
Character,
"Nominal",
Set Values(
{"a", "b", "c", "d", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
"n", "o", "p", "q"}
)
),
New Column( "Type 1",
Character,
"Nominal",
Set Selected,
Set Values(
{"tomatoes", "tomatoes", "tomatoes", "apple", "apple", "apple",
"carrots", "carrots", "carrots", "tomatoes", "tomatoes", "tomatoes",
"apple", "apple", "apple", "carrots", "carrots", "carrots"}
)
),
New Column( "type 2",
Character,
"Nominal",
Color Cells( {69, {17}} ),
Set Selected,
Set Values(
{"red", "green", "green", "red", "green", "red", "red", "red", "green",
"red", "green", "green", "red", "green", "red", "red", "blue", "green"}
),
Set Display Width( 55 )
)
)
Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)@FN : De la forma en que está escrito esto ahora, no es posible que las filas seleccionadas en la tabla afecten los histogramas adjuntos a los filtros, pero tal vez podamos hacerlo al revés.
Creo que hay dos formas de hacer esto para ver histogramas. La primera es activar los gráficos de resumen en la tabla. Para hacer eso, seleccione el Triángulo Rojo al lado de "Filtros" y luego seleccione "Alternar gráficos de resumen". Ahora, cuando cambie los filtros, verá los histogramas actualizados para cada columna.

Otra opción es condicionar los filtros. Puedes hacer esto seleccionando el Triángulo Rojo al lado de "Filtro de datos", luego Condicional:

Al hacer esto, una vez que configura un filtro, los filtros restantes solo muestran los valores restantes en el subconjunto definido por los filtros anteriores.
¡Espero que esto ayude!
Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)@Sburel : ¿puedes contarme un poco más sobre lo que estás imaginando allí? Si su objetivo es tener algún resumen de los datos y desea filtrarlos dinámicamente, es posible que pueda lograrlo usando Analizar > Tabular, luego, una vez que haya configurado la tabulación, agregue el filtro de datos local, que puede acceda desde el Triángulo rojo> Filtro de datos locales. De esta manera, puede filtrar dinámicamente la tabulación y ver cómo esas estadísticas resumidas cambian según el subconjunto que haya definido.
Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)Muy lindo.
¿Sería útil mostrar también filtros de datos dinámicos? Las distribuciones deben cambiar con la selección de filas. ¿Quizás tener un botón que permita al usuario refinarlos manualmente?
Re: Complemento de subconjunto dinámico (tabla de datos filtrables, actualizada)Herramienta muy interesante. En particular, esto puede ser muy útil para la recodificación, ya que es necesario conocer el contenido de las columnas relacionadas cuando la función 'bloquear tabla de datos' no está seleccionada.
Bajo esas condiciones. Sería muy útil si también hubiera una manera (1) de tener la capacidad de resumir y filtrar dinámicamente, como es el caso actualmente, en lugar de un subconjunto, y (2) tener la capacidad de capturar los cambios en un script.
Re: Tabla de datos filtrables¡Asombroso! Buen trabajo @Julian