Wie benenne ich mehrere Variablen aus einer Spalte um?Ich habe mehrere Variablen in einer Spalte (z. B. B, F, T), die umbenannt werden mussten.
Local({dt, col1},
dt = Data Table("ProductDefect");
dt << Begin Data Update;
col1 = dt << New Column(dt:LayerData);
col1 << Set Name("Side");
dt << Move Selected Columns({col1}, after(dt:LayerData));
For Each Row(
dt,
col1[] = If(Contains(dt:LayerData, "B"),
"Back",
dt:LayerData
)
);
dt << End Data Update;
);Mit diesem Skript ändere ich nur B, während die anderen Variablen (also „F“, „T“) nicht geändert werden. Was muss getan werden, damit alles in der neuen Spalte umbenannt wird; B = Hinten, F = Vorne, T = Oben?
Automatisierung und SkriptingBetreff: Wie benenne ich mehrere Variablen aus einer Spalte um?Die Recode-Plattform kann diese Art der Konvertierung problemlos für Sie erstellen.


Local({dt, col1},
dt = Data Table("Big Class");
dt << Begin Data Update;
col1 = dt << New Column(dt:sex);
col1 << Set Name("sex 2");
dt << Move Selected Columns({col1}, after(dt:sex));
dt << Recode Column(
dt:sex,
{Map Value(_rcOrig, {"F", "Female", "M", "Male"}, Unmatched(_rcNow))},
Update Properties(1),
Target Column(col1)
);
dt << End Data Update;
);
Sie können auch die Spalteneigenschaft „Wertbeschriftungen“ verwenden.

Die Daten in der Tabelle werden dadurch nicht geändert, aber Sie sehen die "umkodierten" Werte
Betreff: Wie benenne ich mehrere Variablen aus einer Spalte um?Vielen Dank für das Feedback!
Allerdings kann das Skript durch die Verwendung der Recode-Plattform nicht automatisiert werden, da ich die Daten jedes Mal aus der Datenbank hochladen und manuell neu codieren muss, wenn es neue Ergänzungen zur Datenbank gibt.
Wie im beigefügten Beispiel gezeigt, werden meine Daten laufend vom System aktualisiert, die Benennung ändert sich kontinuierlich, während die Nummer und die Variable erhalten bleiben (z. B. 1B-xx, 1F-xx, 1T-xx, 2B-xx, 2F-xx, 2T-xx, ...). Vom System wird nicht automatisch angezeigt, dass B = Hinten, F = Vorne, T = Oben ist.
Gibt es eine Möglichkeit, ohne dass ich bei jeder Analyse die Neucodierung wiederholen muss?
Betreff: Wie benenne ich mehrere Variablen aus einer Spalte um?Sollte „2B-New“ „Back“ oder „2Back-New“ usw. heißen?
Betreff: Wie benenne ich mehrere Variablen aus einer Spalte um?Ja, in der neuen Spalte möchte ich nur die „Seite“ angeben. 2B-Neu wird also „Hinten“, 2T-Basis wird „Oben“ und so weiter.
Betreff: Wie benenne ich mehrere Variablen aus einer Spalte um?Sie können die Zeichenfolgen „Umkodieren“ und „Ersetzen“ mehrfach verwenden. Ich kenne Ihre Daten nicht, daher bin ich mir nicht sicher, was der beste Weg wäre (ich würde vielleicht einen einfachen regulären Ausdruck verwenden, und wenn es komplizierter sein muss, können Sie das auch tun).

Wiederholen Sie dies für alle mit ihren eigenen Mustern

Und JMP erstellt Ihnen ein Skript
// Recode column: ProductDefect
Local({dt},
dt = Data Table("Sheet1");
dt << Begin Data Update;
dt << Recode Column(
dt:ProductDefect,
{Regex(_rcNow, ".*?\d+B.*", "Back", GLOBALREPLACE),
Regex(_rcNow, ".*?\d+T.*", "Top", GLOBALREPLACE),
Regex(_rcNow, ".*?\d+F.*", "Front", GLOBALREPLACE)},
Update Properties(1),
Target Column(:ProductDefect)
);
dt << End Data Update;
);
Wenn Sie es nicht an Ort und Stelle tun möchten, führen Sie recode aus, ohne dass dies aktiviert ist
Betreff: Wie benenne ich mehrere Variablen aus einer Spalte um?Vielen Dank für die Hilfe! Das funktioniert genau so, wie ich es mir vorgestellt habe!