El conmutador 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 el conmutador de columnas. A continuación se presentan algunos de los aspectos más destacados.
Diálogo de inicio mejorado
Ahora hay un único cuadro de diálogo para configurar el conmutador de columnas. El cuadro de diálogo incluye dos listas.

La lista superior contiene las columnas utilizadas en la plataforma que están disponibles para cambiar. Sólo se puede seleccionar una columna de esta lista a la vez. Esto se llama 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 según 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 resumen de Opciones. El Título le permite establecer el título para el contorno alrededor del Selector de columnas. El conmutador de columnas también se puede iniciar en la posición cerrada marcando la casilla 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 del conmutador de columnas después de la creación. Hay botones para agregar (+) y eliminar (-) junto a la lista del conmutador de columnas que inician 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 se repite continuamente sobre 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, al alternar el botón se desactivará el bucle. Esto puede resultar útil si está grabando la animación y solo desea capturar un paso por las columnas.

Conservar 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 las 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 de ejes (y potencialmente otras opciones, como líneas de referencia) permanezcan para poder comparar las columnas en el mismo contexto. Hay una nueva configuración en el menú del triángulo rojo llamada Conservar configuración de eje. Esto es apagado por defecto. Si está activado y hay alguna personalización del eje, como configurar la escala o agregar una línea de referencia, esas configuraciones no se perderán al cambiar entre columnas.
A continuación se muestra un ejemplo en el que el rango de ejes y la línea de referencia están bloqueados mientras se ejecuta el conmutador de columnas. Esto permite al usuario ver cómo cambian los datos con el tiempo sin perder el contexto en el eje y.
Vincular múltiples plataformas al mismo conmutador de columnas
Esta es una característica más avanzada que actualmente solo se admite 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 conmutador de columnas existente es relativamente sencillo. Solo necesita una referencia a un conmutador de columnas y una referencia a una plataforma y luego usar el comando Vincular plataforma. No es necesario que las plataformas estén en la misma ventana, aunque suele ser más fácil realizar un seguimiento de la interacción si lo están.
Ejemplo de vinculación de dos plataformas en ventanas separadas:
// 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 las plataformas en una única 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 );
Adjunté a este artículo un ejemplo de un conmutador de columnas vinculado en un panel. 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. Su objetivo es 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 conmutación inicial en la lista de columnas de reemplazo. Como resultado, una vez que abandona la configuración inicial, no podrá regresar 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.
Conservar la configuración del eje al cambiar
Esta preferencia cambia el valor predeterminado para Conservar configuración del eje de APAGADO a ENCENDIDO.
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 general del conmutador de columnas es "Conmutador de columnas". Esto se puede cambiar durante el inicio 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 se han corregido numerosos errores y otras mejoras.
Hola @CWbourneJr - Desafortunadamente, la plataforma Process Capability desactiva explícitamente el conmutador de columnas en los menús interactivos, debido a la complejidad de las especificaciones de las columnas que usted 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 utilizar la plataforma de distribución con su opción de capacidad de proceso disponible para hacer lo que necesita.A continuación se muestra un ejemplo que utiliza 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
Estoy intentando utilizar el conmutador de columnas para animar los informes de detalles individuales de capacidad del proceso.Parece que debe vincular toda la tabla de límites de especificaciones cuando selecciona por primera vez las dimensiones que está verificando.Si intenta cambiar una dimensión para configurar la automatización, suceden dos cosas.Los elementos ya seleccionados no se pueden seleccionar para animar y cualquier elemento nuevo que intente seleccionar viene con límites de especificaciones incorrectos copiados del elemento que cambió.
¿Cómo uso el conmutador para animar la capacidad del proceso?
gracias por su ayuda
JMP16
Estoy usando Application Builder, por lo que no estoy seguro de cómo implementar la técnica que estás describiendo.
Le pido al usuario que seleccione una variable para el análisis que está asignada a yVar.Probé el siguiente código para hacer que mi conmutador 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);
);Hola @dspa - ¿Está desarrollando su aplicación utilizando JSL o el creador 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 nombres de 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 inicia 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 ver 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.
Hola @David_Burnham - hay algunos consejos en la biblioteca de documentación de JMP en "Vista previa de un panel"; quizás sea demasiado fácil pasarlos por alto en esa ubicación.
Las cosas más importantes que debes 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 configurar la columna inicial y eliminar las columnas que no desea, cambie al modo de vista previa para usar la interfaz +/- del conmutador de columnas.
- Cuando ejecuta el Panel, 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 panel.
¡Avísame si eso aclara las cosas!
-dan