Script para agregar caracteres iniciales (ceros iniciales en este caso)¿Cuál es la sintaxis para que una columna funcione sobre sí misma?
Esto es lo mejor que se me ocurrió y no funciona.
dt = current data table();
column(dt, "Architecture") << Set Each Value( Repeat("0",3-Length(Char("Architecture")))||Char("Architecture"));
La arquitectura de columnas tiene valores como 1, 2, 123, XXX, etc. La longitud no es estándar.
Quiere un script que se ejecute en la tabla y convierta la columna para estandarizar la longitud en 3 y agregar ceros a la izquierda.
Los valores resultantes serían 001, 002, 123, XXX, etc.
Vi esta publicación y ya casi estaba allí.
https://community.jmp.com/t5/Discussions/How-to-represent-numeric-value-quot-1-quot-as-quot-001-quot/td-p/10972
Re: Script para agregar caracteres iniciales (ceros iniciales en este caso)Gracias a los dos.¡El software es excelente y la comunidad de usuarios es aún mejor!
Re: Script para agregar caracteres iniciales (ceros iniciales en este caso)JSL puede perdonar espacios en los nombres de las columnas.Pero no puede perdonar caracteres especiales.Las siguientes declaraciones son referencias equivalentes a una columna.
dt:Architecture Digest
column(dt, "Architecture Digest")<BR />
Para caracteres especiales puedes usar columna() o :Nombre()
// Column with special characters, ABC=DEF?
column(dt, "ABC=DEF?")
:Name("ABC=DEF?")Re: Script para agregar caracteres iniciales (ceros iniciales en este caso)¿Qué pasa si el nombre de la columna tiene un espacio?
¡Muchas gracias!Re: Script para agregar caracteres iniciales (ceros iniciales en este caso)Ya casi estás ahí. Utilice el carácter de alcance (dos puntos) para asegurarse de que JSL comprenda que es una variable (es decir, una columna) y no una cadena.
dt = Current Data Table();
dt:Architecture << Set Each Value(Repeat("0", 3 - Length(dt:Architecture)) || dt:Architecture);Re: Script para agregar caracteres iniciales (ceros iniciales en este caso)Debe recorrer cada fila y aplicar el cambio:
Names Default To Here( 1 );
dt = Current Data Table();
For Each Row(
dt:Architecture = Repeat( "0", 3 - Length( Char( dt:Architecture ) ) ) ||
Char( dt:Architecture )
);