Comment renommer plusieurs variables d'une même colonne ?J'ai plusieurs variables dans 1 colonne (c'est-à-dire B, F, T) qui devaient être renommées.
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;
);En utilisant ce script, je ne modifie que B tandis que l'autre variable (c'est-à-dire « F », « T ») ne sera pas modifiée. Que faut-il faire pour que tout soit renommé dans la nouvelle colonne ; B = Arrière, F = Devant, T = Haut ?
Automatisation et scriptsRe : Comment renommer plusieurs variables d'une même colonne ?La plateforme Recode peut facilement créer ce type de conversion pour vous.


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;
);
Vous pouvez également envisager d'utiliser la propriété de colonne Étiquettes de valeur

Cela ne changera pas les données du tableau, mais vous verrez les valeurs « recodées »
Re : Comment renommer plusieurs variables d'une même colonne ?Merci pour votre retour !
Cependant, en utilisant la plate-forme de recodage, le script ne peut pas être automatisé car je devrai télécharger les données de la base de données et les recoder manuellement chaque fois qu'il y a de nouveaux ajouts à la base de données.
Comme l'exemple ci-joint, disons que mes données continuent d'être mises à jour à partir du système, le nom changera continuellement tandis que le numéro et la variable seront conservés (par exemple, 1B-xx, 1F-xx, 1T-xx, 2B-xx, 2F-xx, 2T-xx, ...). À partir du système, il ne sera pas automatiquement affiché, B = Arrière, F = Avant, T = Haut.
Existe-t-il un moyen de ne pas avoir à répéter Recode à chaque fois que je souhaite effectuer une analyse ?
Re : Comment renommer plusieurs variables d'une même colonne ?« 2B-New » devrait-il être « Back » ou « 2Back-New » et ainsi de suite ?
Re : Comment renommer plusieurs variables d'une même colonne ?Oui, dans la nouvelle colonne, je souhaite uniquement spécifier le « côté ». Ainsi, 2B-New sera « Back », 2T-Basic sera « Top » et ainsi de suite.
Re : Comment renommer plusieurs variables d'une même colonne ?Vous pouvez utiliser Recode et Replace string plusieurs fois. Je ne connais pas vos données, donc je ne sais pas quelle serait la meilleure façon de procéder (j'opterais peut-être pour une expression régulière simple et si quelque chose de plus compliqué est nécessaire, vous pouvez également le faire)

Répétez ceci pour tous avec leurs propres modèles

Et JMP vous crée un script
// 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;
);
Si vous ne voulez pas le faire sur place, exécutez recode sans que cela soit activé
Re : Comment renommer plusieurs variables d'une même colonne ?Merci beaucoup pour votre aide ! Cela fonctionne comme je l'avais prévu !