JMP SCRIPT: Creación de un gráfico en base a una variable seleccionada por el usuarioHola a todos,
Me gustaría crear un gráfico basado en una selección de filtro de usuario.
Sin embargo, JMP no reconoce la variable "Y" elegida por el usuario y se produce un error.
Aquí está mi código:
Y = concat(Y," (ppm)");
graph = RAW_DATA_TABLE <<
Control Chart Builder(
Size( 534, 450 ),
Show Two Shewhart Charts( 0 ),
Show Control Panel( 0 ),
Sort by Row Order( 1 ),
Variables( Y( :"<U><STRONG>Y</STRONG></U>" ),Subgroup( :Numéro de lot ), Phase(:"Period")),
Get Limits(LIMIT_TABLE),
)
¿Alguien tiene alguna sugerencia que me ayude con el nombre de la Y?
Muchas gracias,
Sebastián
Modelado estadístico avanzadoOrganización de contenidoExploración y visualización de datosDiseño de experimentosPersonalización masivaRe: JMP SCRIPT: Creación de un gráfico basado en una variable de selección de usuarioNo estoy exactamente seguro de lo que está tratando de hacer en la línea 1. ¿Tratando de construir el nombre de la columna basado en algo? ¿Cómo elige Y el usuario? ¿De dónde viene el "(ppm)"?
Re: JMP SCRIPT: Creación de un gráfico basado en una variable de selección de usuarioEl comando Column Dialog() permite a los usuarios seleccionar columnas para roles en análisis posteriores. Debería poder eliminar/modificar del ejemplo del índice de secuencias de comandos para obtener lo que necesita, es decir, solo mantenga las cosas relacionadas con la columna "Y".

Re: JMP SCRIPT: Creación de un gráfico basado en una variable de selección de usuarioLa selección del usuario se basa en una lista. Sin embargo, la selección realizada por el usuario de una lista no coincide con la tabla de datos y necesito concatenar con "(ppm)" para tener el mismo nombre de variable...
Luego, quiero hacer que el gráfico basado en la "Y" se concatene con "ppm".
Sin embargo, el generador de gráficos no reconoce la "Y"...
Tienes alguna sugerencia para ayudarme con el nombre de la Y?
Muchas gracias por tu respuesta
Re: JMP SCRIPT: Creación de un gráfico basado en una variable de selección de usuarioSi está seguro de que la columna existe, puede intentar envolver la variable Y (aquí usaría un nombre de variable más descriptivo) para Eval
y_column = Concat(Y, " (ppm)");
graph = RAW_DATA_TABLE << Control Chart Builder(
Size(534, 450),
Show Two Shewhart Charts(0),
Show Control Panel(0),
Sort by Row Order(1),
Variables(Y(Eval(y_column)), Subgroup(:Numéro de lot), Phase(:"Period")),
Get Limits(LIMIT_TABLE),
);
Names Default To Here(1);
y_col = "Weight";
dt = Open("$SAMPLE_DATA/Quality Control/Coating.jmp");
dt << Control Chart Builder(Variables(Y(Eval(y_col)), Subgroup(:Sample)));
Re: JMP SCRIPT: Creación de un gráfico basado en una variable de selección de usuario
Re: JMP SCRIPT: Creación de un gráfico basado en una variable de selección de usuarioLa línea 1 de su código no es una buena práctica: está redefiniendo Y en términos de sí mismo.
Prueba esto:
raw_data_table = New Table( "Test",Add Rows( 4 ),
New Column( "Col1 (ppm)", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3, 4] ) ),
New Column( "Numéro de lot", Character, "Nominal",
Set Values( {"a", "a", "b", "b"} ) ),
New Column( "Period", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3, 4] ) )
);
Y = "Col1"; // Selected from your dialog box
ycol = Y || " (ppm)";
graph = RAW_DATA_TABLE <<
Control Chart Builder(
Size( 534, 450 ),
Show Two Shewhart Charts( 0 ),
Show Control Panel( 0 ),
Sort by Row Order( 1 ),
Variables( Y( column(RAW_DATA_TABLE, ycol) ),Subgroup( :Numéro de lot ), Phase(:"Period")),
// Get Limits(LIMIT_TABLE),
);
Comenté la referencia a limit_table ya que no tenía esos datos.
Re: JMP SCRIPT: Creación de un gráfico basado en una variable de selección de usuarioExcelente ! esto es exactamente lo que necesito.
Ahora, quiero hacer una selección de columna basada en y_column para eliminar las columnas que el usuario no desea:
a = {Eval(y_colums)};
limit_table << Invert Column Selection( a );
limit_table << Delete Columns;Sin embargo, no funciona.
¿Tienes alguna idea para ayudarme?
gracias
sebastien