Adjuntar una variable transformada a un cuadro de lista colHola a todos,
No puedo agregar una variable transformada a un cuadro de lista de columnas cuando uso la función "Agregar".
Aquí hay un ejemplo:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Col List Box Example 3",
H List Box(
ll1 = Col List Box( all ),
Button Box( "Add", ll2 << append( ll1 << get selected ) ),
ll2 = Col List Box( "numeric", MaxItems( 1 ), nlines( 1 ) ),
Button Box( "Remove", ll2 << remove selected )
)
);
Entonces, por ejemplo, hago clic derecho en la variable "altura"> "Transformar"> "Registro"
Cuando selecciono la nueva variable "Registro [altura]" y hago clic en el botón "Agregar", no ocurre nada ...
¿Tienes alguna idea de cómo podría cambiar eso?
¡Gracias de antemano por tu ayuda!
Re: anexar una variable transformada a un cuadro de lista col<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Gracias por sus respuestas W. Murphrey y msharp.
Por ahora, verificar que la variable está en la tabla y, de no ser así, decirle al usuario que tiene que agregarla, parece ser una buena manera de manejar mi problema.
Voy a intentar esto!
Gracias de nuevo.
Re: anexar una variable transformada a un cuadro de lista colCol List Box () admite la funcionalidad de arrastrar y soltar. Por lo tanto, siempre puede reemplazar el botón Agregar con un cuadro de texto que dice "Arrastre y suelte:".
Sin embargo, el problema más grande es que la función de transformación incluso está disponible haciendo clic con el botón derecho en el cuadro de lista Col (). Principalmente b / c No estoy seguro de lo que estás haciendo cuando haces esto. Una cosa es segura, sin embargo, claramente no está creando una nueva columna transformada en la tabla de datos. La tabla de datos no cambia. Todo lo que parece es que el usuario ahora puede crear columnas de hocus pocus y luego arrastrarlas y soltarlas en el campo de análisis. Esto bloquearía su aplicación a menos que agregue funcionalidad para manejar estas columnas imaginarias al crearlas.
Para que no se bloquee cuando el usuario presiona el botón Ejecutar con una columna falsa, tendría que realizar una verificación para ver si existe la columna seleccionada (similar al código de W. Murphrey). Si la columna no existe, deberías crearla. Dado que un usuario final podría hacer clic con el botón derecho y realizar una transformación en las transformaciones, su código tendría que ser lo suficientemente robusto para manejar esto. Una vez que implemente esto, el usuario final sabrá que puede hacer clic con el botón derecho y crear columnas antes del análisis, también verá las funciones adicionales, por lo que deberá crear más funciones para la Agregación, Distribuciones, Filas y Fórmula. Desafortunadamente, ya que no tiene forma de saber cómo querían cambiar la Fórmula para una columna creada, es mejor que se dé cuenta de que se trata de un agujero de gusano.
Yo diría que es mejor ignorar esto, y esperar hasta que SAS pueda implementarlo como W. Murphrey indica que lo harán en versiones posteriores. Si su usuario final necesita absolutamente poder hacer transformaciones en columnas antes del análisis, solo déles acceso a la tabla de datos.
Re: anexar una variable transformada a un cuadro de lista colHola,
Desafortunadamente, no hay soporte JSL para las columnas transformadas en ColListBox en este momento. La sugerencia se ha enviado al equipo de desarrollo de JMP para su consideración en una versión futura.
Mientras tanto, puede agregar una verificación para verificar que la columna existe. Si no es así, envíe un mensaje para indicar al usuario que las variables transformadas deben agregarse a la tabla de datos. Para hacerlo, haga clic con el botón derecho en la columna transformada y seleccione Agregar a la tabla de datos.
New Window( "Col List Box Example 3",
H List Box(
ll1 = Col List Box( all ),
Button Box( "Add",
colList = dt << Get Column Names( String );
If( Contains( colList, (ll1 << Get Selected)[1] ),
ll2 << append( ll1 << get selected ),
Caption( "Transformed variables must be added to the data table" )
);
),
ll2 = Col List Box( "numeric", MaxItems( 1 ), nlines( 1 ) ),
Button Box( "Remove", ll2 << remove selected )
)
);
Espero que esto ayude.
Wendy