Hola a todos,
Tengo diferentes tablas de datos que creé a partir de otras tablas. En cada tabla de datos, contiene cadenas de longitud variable en el formato Carácter en el mismo nombre de columna. He añadido algunos ejemplos a continuación. Estoy tratando de eliminar los últimos 4 caracteres de la cadena de la columna y conservar todo lo demás. Los últimos 4 caracteres son siempre "DATA", . Intenté lograr la declaración if para vincular diferentes tablas de datos y usar Left(), y contains(), pero creo que la forma en que lo escribí es incorrecta. Espero poder obtener ayuda de alguien en esta comunidad ya que recién comencé a aprender jmp jsl.
Ex:
Tabla de datos 1
Fuente
FARAH_DATA
FARAH_DATA
FARAH_DATA
FARAH_DATA
Tabla de datos 2
Fuente
MIKE_DATA
MIKE_DATA
MIKE_DATA
Así es como quiero que se vea cada tabla de datos;
Tabla de datos 1
Fuente
FARAH
FARAH
FARAH
FARAH
Tabla de datos 2
Fuente
MIGUEL
MIGUEL
MIGUEL
He adjuntado mi jsl como se muestra a continuación.
dtList = {};
For( i = 1, i <= N Table(), i++,
tempdt = data table(i)<<GET name=""></GET>Muchas maneras de manejar esto. Algunos ejemplos de cómo eliminar _DATA de una cadena
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"));
Usando con tablas de datos:
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));
);