JMP Pro 中公式的计算规律
使用JSL新建列公式会进行即时运算,但是在已存在的列中新建公式公式并不会立即计算,会在JSM执行结束后再行计算。此举可有效减少代码运行时间,并利用冗余时间进行计算,但是在一定程度上也会影响到我们,例如我们需要即时使用计算结果时。示例如下:
:一<<set formula(2);
//:一<<eval formula();
:二[1]= Col Sum(:一);
上面这个例子就说明了公式并不是立即进行运算,:二[1]在运算时列 一 的值仍然是1,因此其等于21,而且因为单元格中的公式并不会保存,因此在JSL执行结束后也不会自行更新。
在这里我们需要插入一个函数使其立即进行运算,就是Eval Formula(),下面我们看下运行结果:
:一<<set formula(3);
:一<<eval formula();
:二[1]= Col Sum(:一);