Asigne la variable a la tabla según el contenido del nombre de la tabla.Tengo varias tablas abiertas y necesito asignar una variable según el contenido (DC1, DC2, DC3) del nombre de la tabla. Si el nombre de la tabla contiene DC1, asigne dt1, si el nombre de la tabla contiene DC2, asigne dt2....
Tabla 1: ABC_25C_DC1_2024
Tabla 2: ABC_25C_DC2_2024
Tabla 3: ABC_25C_DC3_2024
Aquí está la línea de comando con la que intenté trabajar.
tablelist = Obtener lista de tabla de datos() << obtener nombre;
Si (Contiene (Elementos Concat (lista de tabla), "DC1"),
dt2= XXXXXXXXX
);
Análisis y modelado de datos básicosRe: Asignar variable a la tabla según el contenido del nombre de la tabla.¿Cómo se abren esas mesas? ¿Podrías crear referencias durante ese proceso? También los almacenaría en una lista en lugar de intentar usar dt1, dt2, dt3... por separado para ellos.
Re: Asignar variable a la tabla según el contenido del nombre de la tabla.Son creados por algún otro script JMP automatizado al que no tengo acceso.
Re: Asignar variable a la tabla según el contenido del nombre de la tabla.Si puede estar 100% seguro de los nombres, los almacenaría en una lista.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
New Table("ABC_25C_DC1_2024");
New Table("ABC_25C_DC2_2024");
New Table("ABC_25C_DC3_2024");
tablelist = Get Data Table List() << get name;
dc_tables = {};
For Each({tablename}, tablelist,
If(Starts With(tablename, "ABC_25C_DC"), // some pattern to catch correct tables
Insert Into(dc_tables, Datatable(tablename));
);
);
Luego puedes acceder a ellos con dc_tables[1] y así sucesivamente.
Re: Asignar variable a la tabla según el contenido del nombre de la tabla.
Espero que esto aclare más lo que estoy tratando de lograr.

Re: Asignar variable a la tabla según el contenido del nombre de la tabla.No creo que eso me proporcione ninguna aclaración adicional, espero que pueda capturar el "tipo" de tabla después del último _. Si puede capturar el "tipo" de la tabla desde el final (después del último _), puede usar la matriz asociativa (o aún una lista). Puedes usar Word para capturar la última parte del nombre.
Names Default To Here(1);
str = "ABC_25C_DC1_2024";
last_part = Word(-1, str, "_");
La idea final seguiría siendo la misma: encontrar alguna manera de obtener referencias a sus tablas, almacenarlas en alguna estructura de datos (lista o matriz asociativa), obtener las tablas de esa estructura de datos cuando sea necesario usando índice (lista) o clave (matriz asociativa). ).