具有多个按列的汇总函数全部,
我正在尝试编写一个脚本来获取观察值的计数,可能是 1 列或多列(由用户的输入确定)。 我可以让脚本适用于一列,但不适用于两列或更多列。 如何调整汇总函数的 by step 中的代码以处理 1+ 列?
以下是脚本示例:
varName = VarList <<GET selected="">0,
summarize(dt, cat = by(Column(dt,varName)),c=count);
//do other things
);
</GET>
谢谢!
莎拉
回复:用多个按列汇总函数很抱歉对 varname 变量造成混淆。 您说得对 - 它是一个列名称列表,取决于用户从 GUI 中输入的内容(即 varList - 列列表框)。 而且你已经解决了我的问题。 喜欢它是一个简单的修复。
那么,就我未来的知识而言,每当我想在 JSL 中的函数中引用数据表列名称时,使用 eval() 命令应该可以很好地工作吗? 我似乎总是遇到问题——尤其是在编码图表时。
非常感谢!
莎拉
回复:用多个按列汇总函数您的帖子中没有足够的信息来确保我知道问题是什么。 了解 VarList 是什么以及 <
dt=open("$SAMPLE_DATA\Big Class.jmp");
varname={:age, :sex};
如果是这样,那么您需要在 Summarize() 函数中将 use Eval() 放在 varname 周围,如下所示:
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
varname = {:age, :sex};
//varName = VarList <<GET selected=""> 0,
Summarize( dt, cat = by( Eval( varname ) ), c = count );
//do other things
);</GET>