El selector de columnas le permite analizar rápidamente diferentes variables sin tener que volver a crear su análisis. JMP 16 incluye varias mejoras funcionales y de usabilidad para Column Switcher. A continuación se presentan algunos de los aspectos más destacados.
Cuadro de diálogo del lanzador mejorado
Ahora hay un cuadro de diálogo único para configurar el conmutador de columnas. El diálogo incluye dos listas.

La lista superior contiene las columnas utilizadas en la plataforma que están disponibles para cambiar. Solo se puede seleccionar una columna de esta lista a la vez. A esto se le llama la columna inicial.
La lista inferior contiene las columnas de la tabla de datos que se pueden cambiar a la plataforma. Estas son las columnas de reemplazo y esta lista admite múltiples selecciones. La lista inferior es dinámica ya que el contenido puede cambiar dependiendo de la columna inicial seleccionada. Ambas listas admiten varias operaciones de filtrado y clasificación en el menú del triángulo rojo.
Hay opciones adicionales disponibles en el esquema de Opciones. El título le permite establecer el título del contorno alrededor del selector de columnas. El conmutador de columnas también se puede iniciar en la posición cerrada marcando la casilla de verificación Cerrar contorno.
Mejoras en el conmutador de columnas
Si olvidó una columna al crear el conmutador de columnas o agregó una nueva columna a la tabla de datos después de crear el conmutador de columnas, ahora puede agregar (o eliminar) columnas de la lista de conmutadores de columnas después de la creación. Hay botones para agregar (+) y eliminar (-) al lado de la lista Column Switcher que abren cuadros de diálogo separados para manipular la lista de columnas. El cuadro de diálogo Agregar solo permitirá nuevas columnas que sean adecuadas para la plataforma actual y la columna de cambio.
Bucle de animación
Hay un nuevo botón que se muestra a continuación en los controles de animación que controla si la animación recorre continuamente la columna de reemplazo disponible o si se detiene cuando llega al final de la lista. De forma predeterminada, el bucle está habilitado. Sin embargo, alternar el botón desactivará el bucle. Esto puede resultar útil si está grabando la animación y solo desea capturar una pasada a través de las columnas.

Conservación de la configuración del eje
De forma predeterminada, la mayoría de las plataformas restablecen los ejes al cambiar de columna. Esto tiene sentido si los datos en el eje son significativamente diferentes entre columnas y desea ver la extensión completa de los datos para cada columna. Sin embargo, hay ocasiones en las que desea que el rango del eje (y posiblemente otras opciones como líneas de referencia) permanezca para poder comparar las columnas en el mismo contexto. Hay una nueva configuración en el menú del triángulo rojo llamada Retener configuración del eje. Este es apagado por defecto. Si está activado y hay alguna personalización del eje, como establecer la escala o agregar una línea de referencia, esos ajustes no se perderán al cambiar entre columnas.
A continuación se muestra un ejemplo en el que el rango del eje y la línea de referencia están bloqueados mientras el conmutador de columnas está en funcionamiento. Esto permite al usuario ver cómo cambian los datos a lo largo del tiempo sin perder el contexto en el eje y.
Vinculación de varias plataformas al mismo conmutador de columnas
Esta es una función más avanzada que solo se admite actualmente a través de JSL y en Dashboard Builder. Permite que un solo conmutador de columna controle múltiples plataformas. Esto crea cierta complejidad, ya que todas las plataformas deben contener la misma columna de conmutación inicial y deben admitir la lista de columnas de reemplazo.
El proceso de vincular una plataforma a un Column Switcher existente es relativamente fácil. Solo necesita una referencia a un Column Switcher y una referencia a una plataforma y luego use el comando Link Platform. Las plataformas no necesitan estar en la misma ventana, aunque a menudo es más fácil rastrear la interacción si lo están.
Ejemplo de vinculación de dos plataformas en ventanas independientes:
// Open the data table
dt = Open( "$SAMPLE_DATA/Process Measurements.jmp" );
// Create a distribution platform
dist = dt << Distribution(
Continuous Distribution(
Column( :Process 1 ),
Always use column properties( 1 ),
Process Capability( 0 )
),
Histograms Only
);
// Add a column switcher to the distribution
cs = dist << Column Switcher(
:Process 1,
{:Process 1, :Process 2, :Process 3, :Process 4, :Process 5, :Process 6,
:Process 7}
);
// Create a Fit Y by X platform
biv = Bivariate( Y( :Process 1 ), X( :Process 2 ) );
// Link the platform to the column switcher
cs << Link Platform(biv);
Ejemplo de combinación de plataformas en una sola ventana:
// Open the data table
dt = Open( "$SAMPLE_DATA/Process Measurements.jmp" );
// Create a new window to hold the platforms and column switcher
New Window( "Multiple Platforms with one Column Switcher",
H List Box(
V List Box (
dist = dt << Distribution(
Continuous Distribution(
Column( :Process 1 ),
Always use column properties( 1 ),
Process Capability( 0 )
),
Histograms Only),
biv = Bivariate( Y( :Process 1 ), X( :Process 2 ) )
),
cs = dt << Column Switcher(
:Process 1,
{:Process 1, :Process 2, :Process 3, :Process 4, :Process 5, :Process 6,
:Process 7} )
)
);
cs << Link Platform( dist );
cs << Link Platform( biv );
He adjuntado un ejemplo de un conmutador de columnas vinculado en un panel a este artículo. Este ejemplo utiliza el archivo de datos Process Measurements.jmp del directorio Samples.
Preferencias
Ahora hay preferencias que se pueden configurar para el conmutador de columnas. Estos están destinados a facilitar la creación de nuevos conmutadores de columnas.
Incluya siempre la columna de interruptores en la lista de reemplazo
Un error común al crear un conmutador de columnas es olvidarse de incluir la columna de cambio inicial en la lista de columnas de reemplazo. Como resultado, una vez que abandona la configuración inicial, no puede volver porque esa columna no está en la lista. Con las mejoras en JMP 16, puede usar el botón Agregar para agregar la columna inicial a la lista. Sin embargo, esto es un trabajo extra. Además, el cuadro de diálogo de inicio ahora le pregunta si no incluye la columna de cambio en la lista de reemplazo, por lo que es menos probable que esto suceda. Esta preferencia lo hace aún más fácil, ya que incluirá automáticamente la columna inicial en la lista de reemplazo incluso si no la incluye y no le pedirá que la agregue durante el inicio.
Conserve la configuración del eje al cambiar
Esta preferencia cambia el valor predeterminado de Conservar la configuración del eje de DESACTIVADO a ACTIVADO.
Ejecutar animación en bucle
Esto cambia el valor predeterminado del botón de bucle de animación.
Título de esquema predeterminado
De forma predeterminada, el título del esquema del conmutador de columnas es "Conmutador de columnas". Esto se puede cambiar durante el lanzamiento en la sección Opciones. La preferencia se puede utilizar para cambiarla para todos los conmutadores nuevos.
Estos son algunos de los aspectos más destacados de las nuevas funciones de Column Switcher. También ha habido numerosas correcciones de errores y otras mejoras.
Hola @David_Burnham - hay algunos consejos en la biblioteca de documentación de JMP en "Vista previa de un tablero" - quizás sea demasiado fácil pasar por alto en esa ubicación.
Las grandes cosas que debe saber son:
- Cuando agrega inicialmente un conmutador a un panel, muestra todas las columnas y tiene la primera columna seleccionada de forma predeterminada.En realidad, no está conectado a ninguna plataforma durante la edición en Dashboard Builder.
- Para establecer la columna inicial y eliminar las columnas que no desea, cambie al modo de vista previa para usar la interfaz +/- del selector de columnas
- Cuando ejecuta el Tablero, el conmutador se conectará automáticamente a todas las plataformas en la ventana que pertenecen a la misma tabla de datos.Esto es similar a la funcionalidad de filtro de datos en el tablero.
¡Avísame si eso aclara las cosas!
-Dan
Hola @dspa - ¿Está desarrollando su aplicación utilizando JSL o el generador de aplicaciones?La creación de aplicaciones JSL que funcionan para diferentes tablas de datos generalmente se realiza creando variables para representar las columnas que cambian, o manipulando expresiones para sustituir los nombres de las variables por marcadores de posición antes de ejecutar la expresión.Esto puede ser necesario para plataformas, así como para cosas como el filtro de datos o el conmutador de columnas.
En el siguiente script utilicé el primer enfoque, creando una función que lanza una plataforma con un conmutador de columnas.Luego llamo a esa función usando entradas de dos tablas de datos diferentes.
Names Default To Here( 1 );
// create function to implement report
createReport = Function({dt, yvar, xvar, xoptionlist}, {Default Local},
obj = dt << Contingency( Y( yvar), X( xvar ) );
ColumnSwitcherObject = obj << Column Switcher(
xvar,
xoptionlist
)
);
// call the function using columns from different data tables
dt1 = Open( "$SAMPLE_DATA/Car Poll.jmp" );
createReport(dt1, Column(dt1, "size"), Column(dt1, "marital status"),
EvalList({Column(dt1, "sex"), Column(dt1, "country"), Column(dt1, "marital status")}));
dt2 = Open( "$SAMPLE_DATA/Cereal.jmp" );
createReport(dt2, Column(dt2, "Fiber Gr"), Column(dt2, "Manufacturer"),
EvalList({Column(dt2, "Manufacturer"), Column(dt2, "Hot/Cold")}));
Para obtener ejemplos de manipulación de expresiones, consulte este artículo sobre Inserte una expresión en otra usando Eval Insert, Eval Expr, Parse y Substitute.
Estoy usando Application Builder, así que no estoy seguro de cómo implementar la técnica que estás describiendo.
Hago que el usuario seleccione una variable para el análisis que está asignada a yVar.Probé el siguiente código para hacer que mi selector de columnas cambiara a yVar, pero no funcionó.
// This special function will receive parameters passed to CreateInstance()
OnModuleLoad({list},
yVar = Column(list[1]);
ColumnSwitcher1 << Set Current(yVar);
);Estoy tratando de usar Column Switcher para animar informes de detalles individuales de capacidad de proceso.Parece que tiene que vincular toda la tabla de límites de especificaciones cuando selecciona por primera vez las dimensiones que está comprobando.Si intenta cambiar una dimensión para configurar la automatización, suceden dos cosas.Los ya seleccionados no se pueden seleccionar para animar y cualquier elemento nuevo que intente seleccionar viene con límites de especificación incorrectos Copiado del elemento que cambió.
¿Cómo uso el conmutador para animar la capacidad del proceso?
Gracias por tu ayuda
JMP16
Hola @CWBourneJr - desafortunadamente, la plataforma Process Capability deshabilita explícitamente el conmutador de columna en los menús interactivos, debido a la complejidad de las especificaciones de columna que menciona.Supongo que debe haber podido usar JSL para activar el conmutador de columnas en la plataforma. Lo investigaré y trabajaremos para proporcionar un mensaje de error en ese caso.
Afortunadamente mi colega @Laura_Lancaster tenía una sugerencia de que podría usar la plataforma de distribución con su opción de capacidad de proceso disponible para hacer lo que necesita.Aquí hay un ejemplo que usa los datos de muestra:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Process Measurements.jmp" );
dt << Distribution(
Continuous Distribution(
Column( :Process 1 ),
Quantiles( 0 ),
Summary Statistics( 0 ),
Always use column properties( 1 ),
Histogram( 0 ),
Outlier Box Plot( 0 ),
Process Capability( Use Column Property Specs )
),
Column Switcher(
:Process 1,
{:Process 1, :Process 2, :Process 3, :Process 4, :Process 5, :Process 6,
:Process 7}
)
);
¡Espero que ayude!
-Dan