mover la columna nombrada a través de la variable de cadena después de otra columna también nombrada a través de la variable de cadena¿Cómo muevo una columna a la que hace referencia una variable de cadena después de otra columna a la que también hace referencia una variable de cadena en la tabla? S t
zzz = Columna (cnm);
colst = {zzz};
Eval (Eval Expr (Expr (st << MoveSelectedColumns (colst, After (yyy))));
mis lugareños muestran que
Variable cnm tiene el valor "ppg 1000" de tipo Cuerda
Variable yyy tiene el valor Columna ("lxt 1000") de tipo Columna
Variable zzz tiene el valor Columna ("ppg 1000") de tipo Columna
Variable colst tiene el valor {zzz} de tipo Lista
Pensé que tendría que usar Eval, Eval Expr, Expr, etc para hacer que esto funcione, pero parece que no puede hacerlo bien.
Por favor ayuda. Gracias por adelantado.
Aclamaciones
Galactus3000
Re: mover la columna nombrada a través de la variable de cadena después de otra columna también nombrada a través de la variable de cadenaSolo haz el expr alrededor del colst. Si está haciendo un evalExpr () alrededor de un expr () completo, efectivamente no está haciendo nada.
Eval (EvalExpr (dt << MoveSelectedColumns (Expr (colst), After (yyy))))
Probablemente sea una buena idea hacer:
colst = Evallist ({zzz});
a menos que esté intentando que colst sea una lista de referencias en lugar de una lista de columnas
Re: mover la columna nombrada a través de la variable de cadena después de otra columna también nombrada a través de la variable de cadenaAquí hay otra forma de construir una cadena dinámicamente y luego ejecutarla a través de eval (parse ()).
st = New Table( "Untitled", Add Rows( 2 ),
New Column( "lxt 1000", Character, "Nominal", Set Values( {"a", "b"} ) ),
New Column( "Column 2", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2] )
),
New Column( "ppg 1000", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [3, 4] )
)
);
wait(2);
cnm = "ppg 1000";
yyy = "lxt 1000";
move_expr = evalinsert("\[st << Move Selected Columns({"^cnm^"}, After("^yyy^"))]\");
eval(parse(move_expr));Re: mover la columna nombrada a través de la variable de cadena después de otra columna también nombrada a través de la variable de cadenaAquí hay una forma:
NamesDefaultToHere(1);
dt = NewTable("MoveColumns");
dt << addMultipleColumns("Column ", 10, AfterLast, Numeric);
Wait(2);
cols = dt << getColumnNames("String");
RemoveFrom(cols, 8, 3);
afterCol = "Column 08";
moveCMD = Expr(dt << moveSelectedColumns(colsTBD, After(afterColTBD)));
SubstituteInto(moveCMD, Expr(colsTBD), cols, Expr(afterColTBD), afterCol);
moveCMD