Conmutador de columna y función de pruebaHola,
¿Es posible usar la función try en un script de cambio de columna? Estoy creando un script donde agrego un selector de columnas para algunas columnas elegidas a un gráfico que funciona bien. Sin embargo, a veces falta una columna que hará que el script se detenga. Por lo tanto, estoy tratando de usar la función try para cada una de las columnas relevantes (ya que no quiero todas las columnas en el selector de columnas) pero no puedo hacer que funcione.
dt << Conmutador de columna (
try ((: RER), throw ("RER no existe")),
try ((: VO2), throw ("VO2 no existe")),
try (: Nombre ("Drink- [ml]"), throw ("Drink- [ml] no existe"))
);
¿Es posible o hay una mejor manera de hacer esto?
H. Julie
Re: Conmutador de columna y función de pruebaAsí es como lo haría
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
// set desired list of columns to be in column switcher
desiredColList = {"Height", "Weight", "Zippy"};
// remove from list, columns that are not available
For( i = N Items( desiredColList ), i >= 1, i--,
If( Try( Column( dt, desiredColList[i] ) << get name, "" ) == "",
Remove From( desiredColList, i, 1 )
)
);
// If columns are available, run the platform
If( N Items( desiredColList ) > 0,
ow = oneway( x( :age ), y( :height ) );
ow << Column Switcher( :height, desiredColList );
);Re: Conmutador de columna y función de pruebaUsaría la función Try () fuera del mensaje. Construye el mensaje condicionalmente. Me gusta esto:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Fitness.jmp" );
gb = dt << Graph Builder(
Size( 532, 456 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :Age ), Y( :Oxy ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);
alt cols = List();
Try(
Insert Into( alt cols, Column( dt, "Age" ) )
);
Try(
Insert Into( alt cols, Column( dt, "Weight" ) )
);
Try(
Insert Into( alt cols, Column( dt, "Runtime" ) )
);
col switcher expr = Expr( Column Switcher( :age ) );
Insert Into( col switcher expr, alt cols );
Eval(
Insert(
Expr( Send( gb ) ),
Name Expr( col switcher expr )
)
);