Hola a todos,
Tener problemas con la referencia adecuada de una columna al pasar el comando <
La sección de código con la que estoy teniendo dificultades es la siguiente:
report_of_interest[Number Col Box( 8 )] << Simulate(
NBSnum,
Random Seed( RSnum ),
Out( Eval( YCols ) ),
In( :Simulated Y )
);
Al ejecutar esa sección de código se produce el siguiente error: Columna para cambiar no encontrada. y luego aparece la ventana donde se supone que debes seleccionar las columnas para entrar y salir.
report_of_interest es la ventana del informe donde envío el comando Simular. Específicamente a NumberColBox(8), que es la columna Estimación del informe. NBSnum y RSnum son el número de muestras de arranque que se ejecutarán y una variable inicial aleatoria. El problema es el nombre de la columna en Out( ) del comando Simulate( ). La columna In( ) no es un problema porque puedo nombrar la columna de datos simulados como quiera, pero la columna para la opción Out( ) no es una columna que realmente quiera cambiar de nombre ni nada por el estilo. En este caso, guardo los datos simulados en la tabla de datos y cambio el nombre de la columna a "Y simulada" para poder hacer referencia a ellos según sea necesario en el comando Simular como In(:Y simulado).
Anteriormente en el código, se solicita al usuario que seleccione la columna que será la columna de respuesta para el modelado, esta es YCols y, a menudo, cuando se trata de una columna en una plataforma, puede tenerla simplemente como Eval(YCols) y lo acepta muy bien, por ejemplo:
fm = avdt << Fit Model(
Y( Eval( YCols ) ),
Validation( :Validation ),
Effects( :Null Factor, Eval( XCols ) ),
Personality( "Generalized Regression" ),
Run( Fit( Estimation Method( Forward Selection ), Validation Method( Validation Column ) ) )
);
Ejecutará correctamente un modelo de ajuste en la columna Y( ). Sin embargo, el comando Simular () quiere que se haga referencia a la columna como una columna con ámbito, creo, como quiere que sea, :Mi columna al modelo, por ejemplo.
Digamos que la columna tiene el nombre "Mi columna al modelo", por lo que las variables YCols y Eval(YCols) devolverán lo siguiente {"Mi columna al modelo"}. Al enviar el comando de simulación al informe, desea el nombre de la columna con alcance, como el siguiente:
report_of_interest[Number Col Box( 8 )] << Simulate(
NBSnum,
Random Seed( RSnum ),
Out( :My Column To Model ),
In( :Simulated Y )
);
El problema es que la columna que estoy modelando puede cambiar, por lo tanto, su nombre cambia y no quiero cambiar el nombre de la columna para que siempre tenga un nombre fijo como: YData. Quiero trabajar con una variable como YCols, pero no sé cómo trabajar con el operador de dos puntos infijos (:) y una variable como YCols para tener la referencia de columna correcta para el comando Simular ().
Lo intenté como columna (dt, nombre), columna (dt, nombre), columna (número), parse(":"||char(Column(avdt, Eval(YCols)))), Parse(:" ||Eval(YCols)[1]), y ninguno de esos funciona. Todos dan como resultado el mismo error mencionado anteriormente y abren una nueva ventana para seleccionar las columnas para intercambiar Entrada/Salida, lo que niega la automatización que estoy intentando realizar.
Cualquier ayuda es muy apreciada.
¡Gracias!,
DS