Vincular un conmutador de columnas a un gráfico elimina entradas de la listaHola,
Cuando un conmutador de columnas está vinculado a un gráfico, JMP parece comprobar si hay columnas "ya existentes" en el gráfico y las elimina de la lista de entradas del conmutador de columnas.
La mayoría de las veces, esta es una característica interesante porque evita colisiones del conmutador de columnas y los enlaces ya existentes entre el gráfico y la columna.
Pero a veces hay casos en los que esta característica resulta perjudicial.
En el siguiente ejemplo, los 2 conmutadores de columnas comparten 3 columnas para los ejes X e Y del gráfico, pero los valores iniciales se eliminan automáticamente del "otro" conmutador de columnas:

Todavía puede haber una colisión por "peso". Pero si uno intenta configurar ambos conmutadores de columna en "peso", esto se detecta y previene automáticamente.
Entonces, en este caso, la eliminación automática no es tan útil como debería ser.
¿Cómo recuperar los valores faltantes en la lista?
Una solución alternativa es comenzar con valores iniciales sin sentido del gráfico (que luego se pueden eliminar de la lista de cambio de columnas) y luego modificar los valores iniciales a través de JSL a valores más significativos.
¿Existe una manera más sencilla, por ejemplo, un parámetro para que el comando LinkPlatform deshabilite la eliminación automática?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
new window("test",
cs1=dt << Column Switcher(:sex, {:sex, :height, :weight});
cs2=dt << Column Switcher(:height, {:sex, :height, :weight});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ) )
)
);
cs1 << Link Platform(gb );
cs2 << Link Platform(gb );
Modelado estadístico avanzadoAutomatización y secuencias de comandosInvestigación de Consumidores y MercadosCombinación y limpieza de datosExploración y visualización de datosLa personalización en masaCompartir y comunicar resultadosRe: Vincular un conmutador de columnas a un gráfico elimina entradas de la listaSi se reemplazan más apariciones de la cadena en el código de las esperadas originalmente, ¿funciona también con fórmulas definidas "en línea"?
Por ejemplo, ¿puedo utilizar un conmutador de columnas para cambiar un gráfico de probabilidad acumulada (ejes X e Y) a otra variable?
--> Mmm, lamentablemente no. solo se cambia el eje x, la fórmula utilizada en el eje y permanece igual 
Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables(
X( :height ),
Y(
Transform Column(
"Cumulative Probability[height]",
Formula( Col Rank( :height ) / (Col Number( :height ) + 1) )
)
)
),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) ),
Column Switcher( :height, {:height, :weight} )
)Re: Vincular un conmutador de columnas a un gráfico elimina entradas de la listaPor cierto:
hay que tener cuidado de utilizar nombres de columnas ficticias que sean lo suficientemente complicados. Con "x" e "y" tuve suerte.
El siguiente código termina con la advertencia:
Cannot find OutlineBox[ "Grweightph Builder" ] at {}Parece que el primer activador de ColumnSwitcher cambió la "a" en el código del cuadro de esquema "Graph Builder" a "peso"
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << new column("a");
new window("test",
cs1=dt << Column Switcher(:a, { :weight, :sex});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :a ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
SendToReport(
Dispatch( {}, "Graph Builder", OutlineBox, Set Title( "test" ) )
)
));
cs1 << Link Platform(gb );
cs1 << Set Current("weight");
cs1 << Set Current("sex");Re: Vincular un conmutador de columnas a un gráfico elimina entradas de la listaEn versiones anteriores de JMP, el conmutador de columnas cambiaba todas las instancias de la columna elegida. Entonces, si tuviera un ajuste y por x, si seleccionara una columna para el eje vertical que fuera igual a 'x', entonces para todas las columnas elegidas posteriormente, x e y serían reemplazadas. En versiones recientes de JMP, han evitado esto con la alerta que mencionas. La historia detrás de esto me dice que el conmutador de columnas no está vinculado a un eje o valor de agrupación, sino que intenta reemplazar todas las instancias, y las nuevas versiones de JMP simplemente evitan las colisiones.
Recibo la misma alerta con el código que publicaste arriba.Si necesita hacer esto, considere escribir un script con dos cuadros de lista. Cuando se selecciona una columna diferente, elimine el gráfico, obtenga las columnas x e y y vuelva a dibujar el gráfico. puedes usar este como una referencia.
Re: Vincular un conmutador de columnas a un gráfico elimina entradas de la listaEsta es la versión con valores iniciales ficticios.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << new column("x");
dt << new column("y");
new window("test",
cs1=dt << Column Switcher(:x, {:height, :weight, :sex});
cs2=dt << Column Switcher(:y, {:height, :weight, :sex});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :x ), Y( :y ) ),
Elements( Points( X, Y, Legend( 1 ) ) )
)
);
cs1 << Link Platform(gb );
cs2 << Link Platform(gb );
cs1 << Set Current("weight");
cs2 << Set Current("height");Re: Vincular un conmutador de columnas a un gráfico elimina entradas de la listaHola Jamo.
Sí, su ejemplo es definitivamente uno de los muchos casos en los que:
Esta es una característica interesante porque evita colisiones del conmutador de columnas y enlaces ya existentes entre el gráfico y la columna.
Estoy completamente de acuerdo.
La mayoría de las veces, la función de eliminación automática ayuda, no hay duda.
La mayoría de las veces, pero no siempre.
Para N>=2 conmutadores de columnas y N>2 entradas en las listas, el usuario podría recorrer los conmutadores de columnas sin cesar a través de versiones interesantes del panel.
Y cualquier colisión se evita mediante el aviso "no se puede cambiar".
Por lo tanto, sería bueno tener un parámetro para habilitar o deshabilitar la función.
Re: Vincular un conmutador de columnas a un gráfico elimina entradas de la listaMe pregunto qué le gustaría que sucediera si tuviera la siguiente situación:
- Eje X: altura, sexo del eje Y
- Conmutador de columnas que intenta tener ambos
- Cambia el valor en el conmutador de columnas. ¿Qué valor se debe actualizar y cómo?
Ejemplo simple en el que se eliminará la altura, porque estamos inicializando el conmutador de columnas en el eje X con :sex y :la altura se elimina porque ya está en el eje Y.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
New Window("test",
gb = dt << Graph Builder(
Size(534, 460),
Show Control Panel(0),
Variables(X(:sex), Y(:height)),
Elements(Points(X, Y, Legend(1))),
)
);
gb << Column Switcher(:sex, {:sex, :height, :weight});
Si un conmutador de columnas intenta cambiar varios elementos en el gráfico al mismo tiempo, uno de ellos se eliminará y se imprimirá en el registro con el nombre de la columna eliminada:
Algunas columnas seleccionadas se utilizaron en el análisis. Las siguientes columnas se eliminaron de la lista de selección para evitar sustituciones inadvertidas.
altura