大家好,
我正在努力解决如何解决 Parse() 添加额外空格的问题,因为它会干扰我的代码的评估。
我有一个数据表,其中有一个感兴趣的列,其名称类似于“AA BBBB CCC(dd)”,并且我正在进行评估,我想模拟我所做的拟合的估计。 我执行此操作的代码部分如下:
Eval(
Parse(
"\[report_of_interest[Number Col Box( 8 )] << Simulate(
NBSnum,
Random Seed( RSnum ),
Out( ]\"
|| YCols[1] || "\[ ),
In( :Simulated Y )
);]\"
)
);
这在大多数情况下都非常有效,但是 Parse() 命令在解析变量 YCols[1] 时会添加额外的空格,并且当它这样做时,Simulate 平台会认为该列不存在,因为它正在寻找名称有额外的空格。 当我评估 YCols[1] 时,我得到的列名称如上所示:“AA BBBB CCC(dd)”。 但是,当我 Parse(YCols[1]) 时,Eval() 运行的实际代码使用的列的名称如下所示:“AA BBBB CCC( d - d )”,这不是正确的列名称是因为 Parse() 在括号和字母“d”之间添加了额外的空格,以及在“-”短划线字符周围添加了额外的空格。 这是当我仅运行上面代码的 Parse() 部分时嵌入日志中的输出:
report_of_interest[编号列框( 8 )] << 模拟(
NBSnum,
随机种子(RSnum),
输出( AA BBB CCC( d - d ) ),
In( :模拟 Y )
)
有没有办法解决这个问题,或者有另一种方法来构建用于解析的字符串,而不会添加额外的空格?
我什至尝试了以下方法来构建用于解析的字符串,但这也导致模拟平台寻找带有额外空格的列名称。
str = Eval Insert(
"report_of_interest[Number Col Box( 8 )] << Simulate(
NBSnum,
Random Seed( RSnum ),
Out("
);
str2 = Eval Insert( " ),
:Simulated Y )
)" );
Eval( Parse( str || ":" || Char( Eval( YCols )[1] ) || str2 ) );我知道 JSL 不关心额外的空格,但 JMP 关心列名称。
任何想法/想法都非常感激。
谢谢!,
DS