recodificar el nombre de varias columnas con expresiones regulares
¡Hola a todos!
Estoy tratando de aplicar un reemplazo de expresiones regulares a una función Recodificar columna en JSL para que el script revise todas las columnas y aplique la expresión regular a todas ellas, si corresponde.
Este es el código que he estado probando:
Names Default To Here(1);
dt = Current Data Table();
//Create list of columns to be recoded
ColN = dt << Get Column Names();
// Iterate over the list of columns and recode each one
For Each({listitem}, ColN,
dt << Recode Column(
As Column(listitem),
{Regex(_rcNow, "erm", "testtest", GLOBALREPLACE)},
Target Column(Column(listitem))
);
);Estoy recibiendo este error:
Nombre sin resolver: LocalTime en acceso o evaluación de 'LocalTime' , LocalTime/*###*/
LocalTime es la primera columna de 13 columnas en mi conjunto de datos.
¡Apreciaría cualquier ayuda!
secuencias de comandosRe: recodificar el nombre de varias columnas con expresiones regularesMe acabo de dar cuenta de que usé Recode Column y no una función que cambiará el nombre de la columna...
¿Hay una función dedicada a recodificar un nombre de columna? hay otra forma de lograrlo?
Re: recodificar el nombre de varias columnas con expresiones regularesUna lista cuando se especifica no ejecutará ningún elemento dentro de la lista.Por lo tanto, el codificador debe forzar la expansión completa de la lista antes de pasarla a JMP.A continuación se muestra una forma de manejar el problema.
Names Default To Here( 1 );
dt = Current Data Table();
//Create list of columns to be recoded
ColN = dt << Get Column Names(string);
// Iterate over the list of columns and recode each one
For Each( {listitem}, ColN,show(listitem);
Eval(
Substitute(
Expr(
dt << Recode Column(
As Column( listitem ),
{Regex( __rcNow__, "erm", "testtest", GLOBALREPLACE )},
Target Column( Column( listitem ) )
)
),
Expr( __rcNow__ ), listitem
)
)
);