Domanda sulla formula "parola", scopo di dividere un carattere e ottenere una parola chiave abbreviataHo una tabella con una colonna, il nome è "Batch ID", voglio utilizzare uno script per generare una colonna, il nome è "Short ID", usare la formula Word( 2, :Batch ID, "L22DD1"), voglio solo per ottenere la seconda parola, ad esempio E3 L22DD1 K27--->K27, ma come mai dopo aver eseguito JSL, il suo risultato è K2 non K27? gentilmente aiuto per suggerire se hanno altre soluzioni se non funziona?
| ID lotto | ID breve |
| 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 |
SceneggiaturaRe: Domanda sulla formula "parola", scopo di dividere un carattere e ottenere una parola chiave abbreviataSe sai qual è la stringa di interruzione, ad es L22DD1, allora le 2 parti possono essere identificate e separate con le seguenti 2 dichiarazioni di assegnazione
Per l'ID breve
Substr( :Batch ID, Contains( :Batch ID, "L22DD1" ) + 6 )
Per la prima parte dell'ID batch
Substr( :Batch ID, 1, Contains( :Batch ID, "L22DD1" ) + 5 )
Re: Domanda sulla formula "parola", scopo di dividere un carattere e ottenere una parola chiave abbreviatacosì grato per l'aiuto, ora funziona bene e comprende anche di più sulla funzione della "parola".
Re: Domanda sulla formula "parola", scopo di dividere un carattere e ottenere una parola chiave abbreviataCiao,
Il problema con l'utilizzo di una stringa come delimitatore è che la funzione Word() non la interpreta come una stringa univoca ma come una raccolta di singoli delimitatori. Quindi, nel tuo esempio in cui M3L22DD1K41 restituisce K4, la cifra "1" nel tuo delimitatore si trova nella stringa "L22DD1".
Un modo per risolvere questo problema è utilizzare la funzione Sostituisci all'interno della funzione Word come segue:
Parola (2, sostituto (:BATCH_ID, "L22DD1", "-"),"-")
In questo modo ogni occorrenza di "L22DD1" viene sostituita all'interno della formula da "-" e quindi viene estratta la parola desiderata in base al delimitatore "-"
Spero che sia d'aiuto.
Migliore
TSRe: Domanda sulla formula "parola", scopo di dividere un carattere e ottenere una parola chiave abbreviatagrazie signore, funziona bene se il nome segue la stessa regola.
ma se il contenuto di una riga viene modificato come imprevisto, ad esempio "M3 L22DD1 X10_I35_O55", quello che voglio è il nome abbreviato "X10_I35_O55", ho una soluzione migliore.
poi continua ad usare" L22DD1" separato la parola in due parti e ottieni l'ultima.M3 L22DD1 X10_I35_O55-->X10_I35_O55?
Re: Domanda sulla formula "parola", scopo di dividere un carattere e ottenere una parola chiave abbreviataEcco la formula che userei per creare la colonna ID breve
New Column( "Short ID", character, formula( "K" || Word( -1, :Batch ID, "K" ) ) );