Hola, comunidad de JMP:
He estado jugando con un breve script para agrupar la columna automáticamente en función de una cadena de inicio y finalización. Si bien esto funciona bien en mi máquina local, me gustaría saber si hay una mejor manera de preservar las entradas predeterminadas para los cuadros de edición de texto de ejecutar para ejecutar que mantener esas entradas predeterminadas en un archivo separado?
Aquí está mi código hasta ahora: ¿Alguna sugerencia para mejorar alguna parte de él?
Names Default to Here (1);
dt = Current Data Table ();
CList = dt << get column names (string);
GList = {};
NCol = N Items (CList);
Try (dat = open("C:\AUTODAT.JMP", Invisible),
dat = new table ("AUTODAT", Invisible,
Add Rows (2),
New Column ("Entries", Character, Nominal, set values ({"NEW START", "NEW END"}))
);
);
DefStart = column (dat, "Entries") [1];
DefEnd = column (dat, "Entries") [2];
Dlg = New Window (" AUTO-GROUPING: ENTER SEARCH STRINGS",
<< Modal,
Border Box (top (15), Bottom (15), Left (40), Right (40),
V List Box (
Text Box ("ENTER START STRING:"),
ST = Text Edit Box (DefStart, Set Width (200)),
Spacer Box (0,25),
Text Box ("ENTER END STRING:"),
ET = Text Edit Box (DefEnd, Set Width (200)),
Spacer Box (0,25),
Button Box ("OK",
StartString = ST << Get Text ();
EndString = ET << Get Text ()
),
Button Box ("CANCEL",
Close( dat, NoSave );
Throw (1))
)
)
);
Column (dat, "Entries") << set values (Eval List ({StartString, EndString}));
dat << Save As ("C:\AUTODAT.JMP", 1);
Close (dat, NoSave);
Switch = ((Length (StartString) > 0) * 10) + (Length (EndString) > 0);
For (i = 1, i <= NCol, i++,
Match (Switch,
11,
if(Starts With (CList [i], StartString) & Ends With (CList [i], EndString),
Insert into (GList, CList [i])),
10,
if(Starts With (CList [i], StartString),
Insert into (GList, CList [i])),
1,
if(Ends With (CList [i], EndString),
Insert into (GList, CList [i])),
0, Throw (1)
)
);
Group = dt << Group Columns (GList);Mi forma estándar de manejar lo que está haciendo con una tabla de datos guardada es guardar los valores que necesito guardar, como JSL.Simplemente creo una cadena de texto con el JSL requerido para inicializar los valores y guardarlo usando Guardar archivo de texto ().Luego, en ejecuciones posteriores, solo uso un Incluir () para inicializar los valores.