JMP Pro中如何使用循环批量设置公式

本文介绍了在JMPPro中遇到的设置公式问题,当在循环中批量设置列的公式时,需使用EvalExpr和Expr函数处理原始值和计算值的区别。特别指出,新列的公式会在JSL执行后计算,而现有列则不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JMP Pro中如何使用循环批量设置公式

在JMP中,使用set formula或者在新建列的过程中使用formula参数时会出现这样的情况。公式设置中并非使用计算值而是采取原始值。

例如我们设置列2 = 列1的第1行,列3=列1的第2行,那么代码如下:

for ( i = 1, i<=2 , i++,
	As Name("列"||char(i+1)) <<set formula(:列1[i] );
);

在这里插入图片描述
这里会直接将公式设置为列1[i],就会出现错误。此时我并未关闭脚本,因此i=3
这里我们需要用到Eval Expr(x)函数,返回表达式 x 的副本,对于 x 中的每个 Expr() 子句,均用其计算值替换。
因此代码可以写成如下形式:

for ( i = 1, i<=2 , i++,
	fm = Eval Expr(Expr(As Name("列"||char(i+1)) <<set formula(Expr(:列1[i]) ))	
	fm;
);

注意这串代码转换中是不执行的,因此我们需要再补一下fm;
结果如下:
在这里插入图片描述

小tip:设置新列时的公式是会计算的,但是在已有的列中设置公式时是不计算的,会等JSL执行完后再计算

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值