提取数据的问题大家好
对不起打扰,
我现在需要创建新列,我可以创建列,但现在我面临的问题是在列内部,有一个公式。那么现在我不知道如何从excel文件中确定参数和目标值。(这里是指:-0.438和0.717(目标)和(参数)I_P2A GSVT .6 / .045和I_N2A GSVT.3 / .045)我需要从我创建的excel文件中提取目标值和参数而不键入里面的公式。那么有可能成功吗?(下面的附件)。
但现在我遇到了两个问题:
第一个问题:
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" )];
当我一起运行这两个句子时,它会出错。但是当我单独运行句子时,第一个句子可以找到来自excel文件的目标值,但是第二个句子找不到目标值。它出现空值{}。
当我一起跑时,它会显示这两个句子的错误:
表达式不适合访问或评估“Bad Argument”时可用的列类型{1}
第二个问题:
当我用这个替换公式时:公式((_ TheNames_) - (_TheValue_)/((_ sigma_)*(_ TheNames_)),
然后它会告诉我这个错误:
列NEW_I_P2A_GSVT公式中断
无法混合列表和矩阵1次在行:2操作:乘,[0.0231] * / * ### * / {“I_P2A GSVT .6 / .045”} / * ### * /
公式评估错误已被忽略
和第二个名字 I_N2A GSVT.3 / .045,脚本无法执行任何操作。我认为是第一个问题造成的。
谢谢。
Re:提取数据的问题我想这就是你要做的事情:
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]
)
)
);