¿Cómo cambiar el nombre de varias variables de una columna?Tengo varias variables en una columna (es decir, B, F, T) que necesitaban ser renombradas.
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;
);Con este script, solo cambio B, mientras que la otra variable (es decir, "F", "T") no se modifica. ¿Qué se debe hacer para que se cambie el nombre de todas las columnas en la nueva; B = Atrás, F = Delante, T = Arriba?
Automatización y scriptingRe: ¿Cómo cambiar el nombre de varias variables de una columna?La plataforma Recode puede crear este tipo de conversión para usted fácilmente.


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;
);
También podría considerar el uso de la propiedad de columna Etiquetas de valor

No cambiará los datos de la tabla, pero verá los valores "recodificados"
Re: ¿Cómo cambiar el nombre de varias variables de una columna?¡Gracias por tus comentarios!
Sin embargo, al utilizar la plataforma de recodificación, el script no se puede automatizar, ya que tendré que cargar datos desde la base de datos y recodificarlos manualmente cada vez que haya nuevas incorporaciones a la base de datos.
Como se muestra en el ejemplo adjunto, digamos que mis datos se siguen actualizando desde el sistema y el nombre cambiará continuamente mientras que el número y la variable se mantienen (por ejemplo, 1B-xx, 1F-xx, 1T-xx, 2B-xx, 2F-xx, 2T-xx, ...). Desde el sistema, no se mostrará automáticamente, por lo que B = Atrás, F = Adelante, T = Arriba.
¿Hay alguna manera de no tener que repetir Recode cada vez que quiero hacer un análisis?
Re: ¿Cómo cambiar el nombre de varias variables de una columna?¿Debería "2B-New" ser "Back" o "2Back-New" y así sucesivamente?
Re: ¿Cómo cambiar el nombre de varias variables de una columna?Sí, en la nueva columna solo quiero especificar el "Lado". Por lo tanto, 2B-New será "Atrás", 2T-Basic será "Arriba", y así sucesivamente.
Re: ¿Cómo cambiar el nombre de varias variables de una columna?Puedes usar Recodificar y Reemplazar cadenas varias veces. No conozco tus datos, así que no estoy seguro de cuál sería la mejor manera (quizás optaría por una expresión regular simple y, si es necesario algo más complicado, también podrías hacerlo).

Repita esto para todos con sus propios patrones.

Y JMP te crea 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 no desea hacerlo en su lugar, ejecute recode sin habilitarlo
Re: ¿Cómo cambiar el nombre de varias variables de una columna?¡Muchas gracias por la ayuda! ¡Esto funciona tal como lo tengo en mente!