Hola a todos
Lo siento por molestar,
ahora necesito crear la nueva columna, puedo crear la columna pero ahora me encuentro con que el problema está dentro de la columna allí, hay una fórmula. Entonces ahora no sé cómo determinar los parámetros y el valor objetivo del archivo de Excel. (aquí: -0.438 y 0.717 (destino) y el (parámetro) I_P2A GSVT .6 / .045 y I_N2A GSVT.3 / .045) necesito extraer el valor y los parámetros de destino del archivo de Excel que creé sin escribir el fórmula en el interior. Entonces, ¿es posible hacerlo? (Adjunto a continuación).
Pero ahora me he enfrentado a dos problemas:
Primer problema:
TargetVal = dtExcels:Target[dtExcels << Get Rows Where( dtExcels:Parameters == "I_P2A GSVT .6/.045 " )];
TargetVal = dtExcels:Target[dtExcels << Get Rows Where( dtExcels:Parameters == "I_N2A GSVT .3/.045" )];
Cuando corro estas dos oraciones juntas, sale un error. Pero luego, cuando ejecuto la oración por separado, la primera oración puede encontrar el valor objetivo que proviene del archivo excel, pero la segunda frase no puede encontrar el valor objetivo. Sale valor vacío {}.
Mostrará este error para ambas oraciones cuando corro juntos:
La expresión no se ajusta a los tipos de columna disponibles {1} en el acceso o evaluación de 'Argumento erróneo'
Segundo problema:
Cuando reemplacé la fórmula con esto: Fórmula ((_ TheNames_) - (_TheValue_) / ((_ sigma_) * (_TheNames_)),
Entonces me mostrará este error:
Columna NEW_I_P2A_GSVT Fórmula interrumpida
No se pueden mezclar listas y matrices 1 vez En las filas: 2 Operación: Multiplicar, [0.0231] * / * ### * / {"I_P2A GSVT .6 / .045"} / * ### * /
Los errores de evaluación de la fórmula han sido ignorados
Y los segundos nombres para I_N2A GSVT.3 / .045, el script no puede ejecutar nada. Creo que es causada por el primer problema.
Gracias.
Creo que esto es lo que estás tratando de hacer:
Names Default To Here( 1 );
dt_raw_dataset1 = Current Data Table();
dtExcels = Open( "C:\Users\pkh\Desktop\Imat_UI\Book1.xlsx", "invisible" );
For( i = 1, i <= N Rows( dtExcels ), i++,
Eval(
Substitute(
Expr(
Try( dt_raw_dataset1 << Delete Column( __ColName__ ) );
Try( dt_raw_dataset1 << New Column( __ColName__,
,
Numeric,
"Continuous",
Formula( (__TheNames__) - (__TheTarget__) / ((__TheSigma__)) * (__TheNames__) ),
Set Selected
));
),
Expr( __ColName__ ), "NEW_" || Char( Word( 1, dtExcels:Parameters[i], " " ) ),
Expr( __TheNames__ ), Parse( ":name(\!"" || dtExcels:Parameters[i] || "\!")" ),
Expr( __TheTarget__ ), dtExcels:Target[i],
Expr( __TheSigma__ ), dtExcels:Sigma[i]
)
)
);