Ciao a tutti,
Ho diverse tabelle di dati che ho creato da altre tabelle. In ciascuna tabella di dati contiene stringhe di lunghezza variabile nel formato Carattere nello stesso nome di colonna. Ho aggiunto alcuni esempi qui sotto. Sto cercando di rimuovere gli ultimi 4 caratteri della stringa dalla colonna e di mantenere tutto il resto. Gli ultimi 4 caratteri sono sempre "DATA", . Ho provato a realizzare l'istruzione if per collegare diverse tabelle di dati e utilizzare Left() e Contiene() ma penso che il modo in cui l'ho scritto sia sbagliato. Spero di poter ottenere aiuto da qualcuno in questa comunità da quando ho appena iniziato a imparare jmp jsl.
Ex:
Tabella dati 1
Fonte
FARAH_DATA
FARAH_DATA
FARAH_DATA
FARAH_DATA
Tabella dati 2
Fonte
MIKE_DATI
MIKE_DATI
MIKE_DATI
Questo è l'aspetto che voglio che assomigli a ciascuna tabella dati;
Tabella dati 1
Fonte
FARAH
FARAH
FARAH
FARAH
Tabella dati 2
Fonte
MIKE
MIKE
MIKE
Ho allegato il mio jsl come di seguito
dtList = {};
For( i = 1, i <= N Table(), i++,
tempdt = data table(i)<<GET name=""></GET>Molti modi per gestire questa situazione. Alcuni esempi su come eliminare _DATA dalla stringa
Names Default To Here(1);<BR /><BR />str = "FARAH_DATA";
//Word
Show(Word(1, str, "_"));
//Contains and left/substr
Show(Substr(str, 1, Contains(str, "_", -1) - 1));
Show(Left(str, Contains(str, "_", -1) - 1));
//Substitute
Show(Substitute(str, "_DATA", ""));
//Regex
Show(Regex(str, "_DATA", "", GLOBALREPLACE));
Show(Regex(str, "^(.*?)(_DATA)", "\1"));
Utilizzo con datatables:
Names Default To Here(1)
dt1 = New Table("Untitled",
Add Rows(4),
New Column("Source",
Character,
"Nominal",
Set Values({"FARAH_DATA", "FARAH_DATA", "FARAH_DATA", "FARAH_DATA"})
)
);
dt2 = New Table("Untitled 2",
Add Rows(3),
New Column("Source",
Character,
"Nominal",
Set Values({"MIKE_DATA", "MIKE_DATA", "MIKE_DATA"})
)
);
dt_list = {dt1, dt2};
//using contains with left
//JMP16, if previous use For-loop
For Each({cur_dt}, dt_list,
Column(cur_dt, "Source") << Set Each Value(Left(:Source, Contains(:Source, "_", -1) - 1));
);