uso de "para cada fila" con el nombre de la columna de una lista<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola a todos
Estoy trabajando en una forma de limpiar una tabla generada por el usuario y estoy teniendo un problema: el código se compila correctamente, pero no funciona.
Tengo una tabla con columnas desconocidas (léase: múltiples, variables, escritas a mano por el usuario) tanto en números como en nombres.
Me gustaría realizar una estandarización simple, digamos pulir los valores de espacios no deseados y errores de mayúsculas.
entonces genero una lista con nombres de columnas, pongo un ciclo y coloco un para cada fila dentro.
Se compila, pero no funciona. ¿cualquier sugerencia? el código está aquí
página_usuario = abrir ("\usuario\página.csv", etiquetas(1));
lista_completa = página_usuario <
para (i=1,i
sclmn = ":"||lista_completa ;
para cada fila (sclmn = recortar (sclmn));
para cada fila (sclmn = minúscula (sclmn));
);
Probé varias variaciones, usando una referencia de columna en lugar de una cadena, o usando Eval(), pero no se pudieron compilar. Este diseño es el único que se está compilando, pero aún no funciona. ¿Alguien puede ayudarme a entender por qué?
Re: uso de "para cada fila" con el nombre de la columna de una listaSegún la Guía de secuencias de comandos JMP: "Utilice siempre un subíndice en una referencia de columna para acceder a los valores en las celdas de las columnas". Esta parece ser la mejor práctica, aunque hay excepciones en las que funciona sin los corchetes, como usted señala.
Re: uso de "para cada fila" con el nombre de la columna de una listaGracias, el segundo enfoque funcionó. (Prefiero eso porque uso la misma lista para otra cosa)
Probé la columna() antes de publicar, pero no funcionó sin []
También revisé el depurador y se trazó correctamente como una referencia de columna en lugar de una cadena, y todavía no entiendo por qué necesita []. si usa una versión cableada, digamos
para cada fila (:update_01 = trim (:update_01));
funciona sin el [], y me parece que no hay referencias de eso en la ayuda ni en los libros…
De todos modos, ahora funciona. ¡gracias!
Re: uso de "para cada fila" con el nombre de la columna de una listaEl truco consiste en hacer que JMP reconozca sclmn como una columna. En el script actual, sclmn es solo una cadena. Además, ForEachRow() a menudo requiere un índice vacío [ ] después de las variables de columna.
Aquí hay dos formas de hacerlo:
De la lista de nombres de columnas:
Lista llena = página_usuario << Obtener nombres de columnas () ;
Para ( i = 1 , i <= N artículos ( Lista llena ) , i ++,
sclmn = Lista llena [ i ] ;
Por cada fila ( sclmn [] = Recortar ( sclmn [] ) ) ;
Por cada fila ( sclmn [] = Minúsculas ( sclmn [] ) ) ;
) ;
O de la lista de nombres de columnas como cadenas:
Lista llena = página_usuario << Obtener nombres de columnas ( cadena ) ;
Para ( i = 1 , i <= N artículos ( Lista llena ) , i ++,
sclmn = Columna ( Lista llena [ i ] ) ;
Por cada fila ( sclmn [] = Recortar ( sclmn [] ) ) ;
Por cada fila ( sclmn [] = Minúsculas ( sclmn [] ) ) ;
) ;