recoder le nom de plusieurs colonnes avec regex
Salut tout le monde!
J'essaie d'appliquer un remplacement d'expression régulière à une fonction Recoder une colonne dans JSL afin que le script parcoure toutes les colonnes et applique l'expression régulière à chacune d'elles, le cas échéant.
Voici le code que j'ai testé :
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))
);
);J'obtiens cette erreur :
Nom non résolu : LocalTime dans l'accès ou l'évaluation de 'LocalTime' , LocalTime/*###*/
LocalTime est la première colonne sur 13 colonnes de mon ensemble de données.
J'apprécierais toute aide!
Automatisation et scriptsIngénierie Qualité et ProcédésRe : recoder le nom de plusieurs colonnes avec regexIl y a Recoder les noms de colonnes... qui, à ma connaissance, fonctionne de la même manière, mais il ne sera pas enregistré dans Action Recorder et vous ne pourrez pas en extraire de script. Il ne semble pas non plus en être fait mention dans Scripting Index.

Vous devrez peut-être créer une boucle et utiliser par exemple Regex() et << Set Name to columns.
Names Default To Here(1);
dt = New Table("test",
new column("erm")
);
wait(1); // for demo
For Each({col_name}, dt << Get Column Names("String"),
new_col_name = Regex(col_name, "erm", "testtest", GLOBALREPLACE);
Column(dt, col_name) << Set Name(new_col_name);
);
Re : recoder le nom de plusieurs colonnes avec regexUne liste, lorsqu'elle est spécifiée, n'exécutera aucun élément de la liste.Par conséquent, le codeur doit forcer le développement complet de la liste avant de la transmettre à JMP.Vous trouverez ci-dessous une façon de gérer le problème
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
)
)
);Re : recoder le nom de plusieurs colonnes avec regexJe viens de réaliser que j'utilisais Recode Column et non une fonction qui renommerait le nom de la colonne...
Existe-t-il une fonction dédiée au recodage d'un nom de colonne ? existe-t-il un autre moyen d'y parvenir ?