Estrazione di un numero da un campo di testoHo una colonna contenente note di testo inserite dai tecnici. Inseriscono le ore di utilizzo del sistema, che devo estrarre nella sua colonna. Fortunatamente, i dati sono abbastanza coerenti, quindi sono stato in grado di estrarre le informazioni usando Regex Match (), ma la selezione dell'ultimo valore mi sta facendo inciampare.
Regex Match( :diagnosis, "(ys.+sage: ?)(\d{1,5})\n" );Come estrarre in modo efficace le ore di utilizzo del sistema dal blocco di testo?
Il testo di esempio ha questo aspetto:
UDI # 123456789123456789123456789456123
Dispositivo ricevuto, cover mancante.
Motivo principale per l'assistenza: xxxxxxxxxx
Utilizzo del sistema: 2372
PM di sistema in scadenza: 7627
utilizzo xxx: 120
yyy utilizzo: 208
AnalyticsTabella datiRi: estrazione di un numero da un campo di testoSe i dati sono abbastanza coerenti, potresti farlo senza regex usando Substr con Contains (e Length)
Names Default To Here(1);
text ="UDI# 123456789123456789123456789456123
Device received, missing cover.
Major Reason For Service: xxxxxxxxxx
System usage: 2372
System PM due in: 7627
xxx usage: 120
yyy usage: 208";
stringToSearch = "System usage: ";
sysUsage = num(Substr(text, Contains(text, stringToSearch) + length(stringToSearch), 4));
show(sysUsage);
Ri: estrazione di un numero da un campo di testoEcco una soluzione che utilizza le funzioni JSL per estrarre l'utilizzo del sistema
Num( Word( 1, Substr( :Diagnosis, Contains( :Diagnosis, "System usage:" ) + 14 ), "\!n" ) )

Ho allegato la tabella dei dati sopra