Conmutador de columnas y generador de gráficosHola,
Tengo varias columnas que he agrupado.
En el generador de gráficos tengo la constante del eje X, pero el eje Y debe tener la función de cambio de columna donde podemos elegir entre qué parámetro queremos cambiar de dicho grupo de columnas.
Primero le digo a JSL qué columnas deberían estar en el grupo y cuál debería ser mi primera columna.
colList = dttable << get column names( continuous );
col1 = colList[1];
Este es el código y el error que recibo.
Graph Builder(
Size( 570, 621 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :batch_no ), Y( :col1 ) /*###*/ ),
Elements( Points( X, Y, Legend( 8 ) ) ),
Column Switcher( :col1, {:colList} )
)
¿Puede decirme qué debo escribir para la variable Y para poder comenzar con la primera columna y luego agregar el conmutador de columnas?
gracias de antemano
Análisis y modelado de datos básicosAcceso a los datosDiseño de experimentosventanasRe: Conmutador de columnas y generador de gráficosestas especificando
:col1
Los dos puntos le indican a JMP que hay una columna en la tabla de datos llamada "col1" (consulte el alcance en la documentación de JMP); Col1 es una variable de memoria, no una columna. Elimine los dos puntos y su código debería funcionar.
Re: Conmutador de columnas y generador de gráficosHola Jim,
Gracias por tu ayuda.
Ahora obtengo el gráfico, pero el conmutador de columnas todavía no funciona.
dtrelsplit << Newscript ("graph",
Graph Builder(
Size( 570, 621 ),<BR />
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(
X( :batch_no ),
Y(col1),
),
Elements( Points( X, Y, Legend( 8 ) ) ),
Column Switcher(
col1, {colList}
),
),
Column Switcher cannot find specified column col1 in platform script</CODE></PRE>
<P>Este es el error que se muestra</P>
<BR />
</LINGO-BODY>
<LINGO-SUB id="lingo-sub-724513" slang="en-US" mode="CREATE">Re: Conmutador de columnas y generador de gráficos</LINGO-SUB>
<LINGO-BODY id="lingo-body-724513" slang="en-US" mode="CREATE">
<P>Aquí están mis modificaciones</P>
<PRE><CODE class=" language-jsl">Graph Builder(
Size( 570, 621 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( <SPAN class="lia-emoticons-autosuggestions"><SPAN class="lia-emoticons-search-term">:batch_no</SPAN></SPAN> ), Y( as column(col1) ) ),
Elements( Points( X, Y, Legend( 8 ) ) ),
Column Switcher( col1, colList )
)
;
colList es una lista, por lo que no requiere un segundo conjunto de {}
Re: Conmutador de columnas y generador de gráficosGracias
Re: Conmutador de columnas y generador de gráficos¿Se ha vuelto más estricto el JMP?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
colLst = { :Height, :Weight, :Age };
// doesn't work
dt << New Script( "test",
Graph Builder(
Variables( X( :Weight ), Y( :Height ) ),
Elements( Points( X, Y ) ),
Column Switcher( :Height, colLst )
)
);
// does work
dt << New Script( "test2",
Graph Builder(
Variables( X( :Weight ), Y( :Height ) ),
Elements( Points( X, Y ) ),
Column Switcher( :Height, { :Height, :Weight, :Age } )
)
);
// does work
Eval( Eval Expr( dt << New Script( "test3",
Graph Builder(
Variables( X( :Weight ), Y( :Height ) ),
Elements( Points( X, Y ) ),
Column Switcher( :Height, Expr( colLst ) )
)
)));
Re: Conmutador de columnas y generador de gráficos¿A qué dos versiones de JMP hace referencia?
Re: Conmutador de columnas y generador de gráficosJMP19.
Editar: No podría determinar sin esfuerzo si la variable colList funcionaba en JMP18 o en versiones anteriores. Me sorprende, ya que he encontrado varias referencias sobre el uso de variables a las que se les pasan listas para su posterior uso.
Re: Conmutador de columnas y generador de gráficos@Ressel ,
Al utilizar una instancia recién ejecutada y, por lo tanto, limpia de JMP 18, el script de ejemplo que incluyó del caso que dio a entender que funcionaba para usted en JMP 18 no funcionó para mí.
El problema se debe al aislamiento que proporciona JMP para el script de muestra que incluiste, donde tiene como primera línea
Names Default To Here( 1 );
Esta función aísla las variables creadas para que sean exclusivas de la ejecución del script. Por lo tanto, el script solo conoce la variable collist al ejecutarse. Al ejecutar el script incrustado guardado en la tabla de datos, se crea un nuevo entorno de script y no tiene la variable collist definida.
La razón por la que las dos versiones del código que se ejecutan correctamente realmente funcionan es porque en el primer caso, los valores están codificados en el script y en el segundo caso, los valores están codificados en el script.
Expr( colLst )
expande la variable colist en valores codificados antes de que se ejecute el código, lo que hace que el script integrado en la tabla de datos sea una versión codificada del script.
Por lo tanto, en su caso, JMP 19 no ha cambiado desde la versión 18.
Re: Conmutador de columnas y generador de gráficosAh, vale. Supongo que se trata de un problema de "espacio de nombres", ¿no?
Además, no afirmé que me funcionara en JMP18. Me preguntaba por qué la solución propuesta aquí, que parecía tan clara, no funcionaba. Entonces sospeché erróneamente que podría estar relacionada con la evolución de JSL. No es así.
¡Gracias por la aclaración!
Re: Conmutador de columnas y generador de gráficosgran conversación 
lupa sobre las tuercas y tornillos de JSL...
Me preguntaba cuál es la diferencia entre Variables() y Column Switcher() en
Variables( ... Y( as column(col1) ) ),
Column Switcher( col1, colList )
Éste también funciona así:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
cols = dt << get column names( continuous );
col1= cols[1];
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X(col1 ), ),
Elements( bar( X ), ),
Column Switcher( col1, cols )
);
así como este:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
cols = dt << get column names( continuous, "String" );
col1= cols[1];
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X(Column(col1) ), ),
Elements( bar( X ), ),
Column Switcher( col1, cols )
);
Lo que no funciona:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
cols = dt << get column names( continuous, "String" );
col1= cols[1];
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X(col1 ), ),
Elements( bar( X ), ),
Column Switcher( col1, cols )
);
Entonces, Selector de columnas() está bien con una cadena ,
Variables() necesita un nombre o una columna (creada mediante As Column() o columna() )
Re: Conmutador de columnas y generador de gráficos@hogi ¿el significado de tus resultados es que no es un problema de entorno o de espacio de nombres, sino algo diferente?
Re: Conmutador de columnas y generador de gráficosNo, el problema con los scripts de tabla es un problema de espacio de nombres, como explicó @txnelson .
Cadena vs. nombre vs. columna es algo más que uno puede aprender.