Pregunta sobre la fórmula de "palabra", el propósito de dividir un carácter y obtener la palabra clave abreviadaTengo una tabla con una columna, el nombre es "ID de lote", quiero usar un script para generar una columna, el nombre es "ID corto", la fórmula usa Word (2,: ID de lote, "L22DD1"), solo quiero para obtener la segunda palabra, por ejemplo, E3 L22DD1 K27 ---> K27, pero ¿cómo es que después de ejecutar JSL, su resultado es K2 no K27? amablemente ayude a sugerir si tiene otras soluciones si no funciona?
| ID del lote | Identificación corta |
| M3L22DD1K2 | K2 |
| E3L22DD1K45 | K45 |
| M3L22DD1K41 | K4 |
| E3L22DD1K27 | K27 |
| M3L22DD1K3 | K3 |
| M3L22DD1K42 | K42 |
| M3L22DD1K43 | K43 |
| M3L22DD1K44 | K44 |
| M3L22DD1K45 | K45 |
| M3L22DD1K4 | K4 |
| M3L22DD1K5 | K5 |
| M3L22DD1K6 | K6 |
| E3L22DD1K46 | K46 |
| E3L22DD1K47 | K47 |
| E3L22DD1K48 | K48 |
| E3L22DD1K49 | K49 |
| E3L22DD1K50 | K50 |
| E3L22DD1K51 | K51 |
| E3L22DD1K52 | K52 |
ScriptingRe: Pregunta sobre la fórmula de "palabra", propósito de dividir un carácter y obtener la palabra clave abreviadaAquí está la fórmula que usaría para crear la columna de ID corta
New Column( "Short ID", character, formula( K" || Word( -1, :Batch ID, "K" ) ) );
Re: Pregunta sobre la fórmula de "palabra", propósito de dividir un carácter y obtener la palabra clave abreviadagracias señor, funciona bien si el nombre sigue la misma regla.
pero si el contenido de una fila se cambia como inesperado, por ejemplo, "M3 L22DD1 X10_I35_O55 ", lo que quiero es el nombre corto" X10_I35_O55 ", tengo una mejor solución.
entonces sigue usando " L22DD1 " separar la palabra a dos partes y obtener la última.M3 L22DD1 X10_I35_O55 -> X10_I35_O55?
Re: Pregunta sobre la fórmula de "palabra", propósito de dividir un carácter y obtener la palabra clave abreviadaHola,
El problema de usar una cadena como delimitador es que la función Word () no la entiende como una cadena única sino como una colección de delimitadores individuales. Por lo tanto, en su ejemplo, donde M3L22DD1K41 produce K4, el dígito "1" en su delimitador se encuentra en la cadena "L22DD1".
Una forma de resolver esto es usar la función Sustituir dentro de la función Word de la siguiente manera:
Palabra (2, sustituto (: BATCH_ID, "L22DD1", "-"), "-")
De esta manera, cada aparición de "L22DD1" se reemplaza dentro de la fórmula por "-" y luego la palabra deseada se extrae según el delimitador "-"
Espero eso ayude.
Mejor
TS