ricodificare il nome di più colonne con regex
Ciao a tutti!
Sto cercando di applicare una sostituzione regex a una funzione Ricodifica colonna in JSL in modo che lo script esamini tutte le colonne e applichi l'espressione regolare a tutte, se applicabile.
Questo è il codice che sto testando:
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))
);
);Ricevo questo errore:
Nome non risolto: LocalTime in accesso o valutazione di 'LocalTime' , LocalTime/*###*/
LocalTime è la prima colonna su 13 colonne nel mio set di dati.
Gradirei qualsiasi aiuto!
SceneggiaturaRe: ricodifica il nome di più colonne con regexMi sono appena reso conto che ho usato Recode Column e non una funzione che rinominerà il nome della colonna ...
Esiste una funzione dedicata per ricodificare il nome di una colonna? c'è un altro modo per realizzarlo?
Re: ricodifica il nome di più colonne con regexUn elenco quando specificato non eseguirà alcun elemento all'interno dell'elenco.Pertanto, il codificatore deve forzare l'espansione completa dell'elenco prima che venga passato a JMP.Di seguito è riportato un modo per gestire il 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
)
)
);