Codieren Sie den Namen mehrerer Spalten mit Regex neu
Hallo zusammen!
Ich versuche, einen Regex-Ersatz auf eine Funktion „Spalte neu kodieren“ in JSL anzuwenden, sodass das Skript alle Spalten durchgeht und den Regex gegebenenfalls auf alle anwendet.
Dies ist der Code, den ich getestet habe:
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))
);
);Ich erhalte diesen Fehler:
Name ungelöst: LocalTime im Zugriff oder Auswertung von „LocalTime“, LocalTime/*###*/
LocalTime ist die erste Spalte von 13 Spalten in meinem Datensatz.
Ich würde mich über jede Hilfe freuen!
Automatisierung und SkripterstellungQualitäts- und VerfahrenstechnikBetreff: Mehrere Spaltennamen mit Regex neu kodierenEs gibt Spaltennamen neu kodieren... was meines Wissens auf ähnliche Weise funktioniert, aber nicht im Action Recorder aufgezeichnet wird und Sie kein Skript daraus abrufen können. Im Scripting Index scheint es auch nicht erwähnt zu werden.

Möglicherweise müssen Sie eine Schleife erstellen und beispielsweise Regex() und << Name auf Spalten setzen verwenden.
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);
);
Betreff: Mehrere Spaltennamen mit Regex neu kodierenWenn eine Liste angegeben wird, werden keine Elemente in der Liste ausgeführt.Daher muss der Codierer erzwingen, dass die Liste vollständig erweitert wird, bevor sie an JMP übergeben wird.Im Folgenden finden Sie eine Möglichkeit, mit dem Problem umzugehen
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
)
)
);Betreff: Mehrere Spaltennamen mit Regex neu kodierenMir ist gerade aufgefallen, dass ich Recode Column verwendet habe und keine Funktion, die den Spaltennamen umbenennt ...
Gibt es eine spezielle Funktion zum Umkodieren eines Spaltennamens? Gibt es eine andere Möglichkeit, dies zu erreichen?