Script: elimine el prefijo de la cadena y la columna modificada de salida al archivo de ExcelHola a todos. He estado siguiendo los consejos de https://community.jmp.com/t5/Discussions/String-parsing-formula/td-p/51077 y algunas otras referencias para escribir datos en archivos, principalmente aplicables a archivos de texto fragmentados, pero encontré el
Save Excel File()
función en el índice de secuencias de comandos. No sé qué significa / hace el último parámetro. No se explica. Es decir,
Separate Rows for Each Cell Statistic( 1 )
¿Es esto importante? No escribe nada en ningún archivo en la ubicación que he especificado si este parámetro está presente o no.
Aquí hay un bosquejo aproximado de mi guión:
dt = Current Data Table();
c = Words(:ID, "_");
Write(c);
s = c[2] || "_" || c[3] || "_" || c[4] || "_" || c[5];
Write(s);
s << Save Excel File(
"$DOCUMENTS\temp.xlsx",
Separate Rows for Each Cell Statistic( 1 )
);
Así que estoy tratando de eliminar el prefijo y mantener los cuatro "bloques de palabras" restantes más sus guiones bajos, que estoy agregando nuevamente mediante la concatenación de cadenas de forma manual. Ver https://community.jmp.com/t5/Discussions/string-and-variable-concatenation/td-p/56308 para la concatenación de cadenas "||" referencia.
De todos modos, no aparece ningún archivo en $ DOCUMENTS \ temp.xlsx.
También el, um, cómo se llama, terminal, ventana, registro, me está dando el error
Subscript Range in access or evaluation of 'c[2]' , c[/*###*/2]
y no sé por qué. No se generan cadenas ni columnas como resultado de las declaraciones Write () que he incluido.
Entonces, básicamente, nada funciona como debería. Cuadrado uno, supongo!
Hágame saber qué consejos se le ocurren.
Salud,
Miguel
Tabla de datosScriptingRe: Script: eliminar el prefijo de la cadena y generar la columna modificada en el archivo de ExcelHola,
Cuando trato con cadenas, tiendo a preferir trabajar con funciones específicas de cadenas (por ejemplo, Substitute (), Munger (), Right (), Word ());
Por lo tanto, en su caso, sugeriría la siguiente fórmula para eliminar la primera parte de la cadena IDS, incluida la primera instancia del carácter "_":
Substitute( :IDS, Word( 1, :IDS, "_" ) || "_", "" )
Mejor,
TS
Re: Script: eliminar el prefijo de la cadena y generar la columna modificada en el archivo de ExcelCreo que Guardar archivo de Excel es un caso especial para la plataforma de análisis de respuesta categórica Opciones adicionales de plataforma categórica . Para guardar una tabla de datos como un archivo de Excel, puede usar << Guardar (ruta).
Actualmente está intentando guardar solo una cadena en un archivo de Excel, cadena creada a partir de la primera fila de la tabla de datos. Dependiendo de cómo y qué desea guardar, tiene diferentes opciones, a continuación se muestra una en la que: los valores de la columna de ID se reemplazan con nuevos valores con los caracteres antes del primer _ eliminado:
Names Default To Here(1);
dt = New Table("Untitled 2",
Add Rows(3),
Compress File When Saved(1),
New Column("ID", Character, "Nominal", Set Values({"1_2_3_4_5_6", "2_3_4_5_6_7", "3_4_5_6_7_8"}))
);
Wait(1);
dt:ID << Set Each Value(
Substr(:ID, Contains(:ID, "_")+1)
);
dt << Save("$DOCUMENTS\test.xlsx");También puede crear una nueva columna con los nuevos valores, lo que probablemente sea un mejor enfoque.
Re: Script: eliminar el prefijo de la cadena y generar la columna modificada en el archivo de ExcelGracias por la respuesta, @Thierry_S ! Actualmente estoy probando su scriptlet y algunas otras cosas.
Esto puede sonar como algo súper simple para la mayoría, pero en realidad no sé cuál es la mejor manera de visualizar la salida con fines de depuración cuando se trata de más de una variable de valor único, es decir, cómo hacer que una sola columna aparezca en una nueva tabla de datos (usando solo JSL), o imprima la columna en el registro, o algo así.
No lo recuerdo, tal vez he hecho esto antes y me estoy quedando en blanco, pero me siento un poco tonto por preguntar.
¡Gracias de nuevo!
Miguel
Re: Script: eliminar el prefijo de la cadena y la salida de la columna modificada al archivo de ExcelAdemás, en general, si tiene una función que acepta un parámetro o una variable, ¿pasar una columna realizará la función de elemento a la columna?
Miguel
Re: Script: eliminar el prefijo de la cadena y la salida de la columna modificada al archivo de Excel
Además, en general, si tiene una función que acepta un parámetro o una variable, ¿pasar una columna realizará la función de elemento a la columna?
No. Por lo general, si necesita que se evalúe algo para cada fila de una tabla de datos, querrá crear una columna de fórmula en la tabla de datos o usar el Por cada fila() iterador.
JMP 16 presentó el Para cada() función para iterar sobre estructuras de datos JSL: listas, matrices asociativas o matrices.