如何使用 JSL 制表迭代多列<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我对 JSL 还很陌生,我一直坚持一些看起来应该有效的东西,但事实并非如此。这就是我想要创建的:

数据集如下所示(嗯,它是假的,但你明白了):

这是我尝试使用的代码:
top15<<制表(
添加表(
列表(分析列(:Acc_std)),
对于(i = 1,
i<=nitems(top15<<获取列名())-1,
我++,
行表( 分组列( 列名(i) ) )
)
)
);
我这样做是因为当我手动创建表格时,脚本输出是:
制表(
添加表(
列表(分析列(:Acc_std)),
行表(分组列(:A)),
行表(分组列(:B)),
行表(分组列(:C)),
行表( 分组列( ) ),
行表( 分组列( :E ) )
)
);
我希望能够迭代这些列(使用 for 循环),而不是写出每一列。 我哪里出了问题,或者我完全走错了路?
提前致谢。
回复:如何使用 JSL 制表迭代多列这非常有帮助,谢谢!
回复:如何使用 JSL 制表迭代多列是的。 JMP 报表及其组成部分本质上是您可以向其发送消息的对象。 通过分配对对象(在本例中为“选项卡”)的引用,您可以执行“显示属性(选项卡)”来查看该对象了解哪些消息并可以响应哪些消息。
查看脚本指南的第 10 章和第 11 章(“帮助 > 书籍 > 脚本指南”)以及“帮助 > 脚本索引”。
回复:如何使用 JSL 制表迭代多列效果非常好!
据我了解,您似乎将表格窗口命名为“tab”,这允许您向其发送其他命令,对吗?
回复:如何使用 JSL 制表迭代多列您可以提前构建所需的表达式(例如,参见https://community.jmp.com/message/224888#224888 ),或者增量添加行表,如下所示。
名称默认到这里( 1 ) ;
// 示例表
dt =新表( “测试” ,
添加行( 100 ) ,
新专栏( “A” ,
数字,
“名义” ,
格式( “最好的” , 12 ) ,
公式(随机整数( 4 ) )
) ,
新专栏( “B” ,
数字,
“名义” ,
格式( “最好的” , 12 ) ,
公式(随机整数( 5 ) )
) ,
新专栏( “是” ,
数字,
“连续的” ,
格式( “最好的” , 12 ) ,
公式(随机正态() )
)
) ;
// 分组列列表
列表= { : A , :乙} ;
// 制表
标签= dt <<制表(添加表(柱形表(分析栏( :是) ))) ;
// 在cList中添加分组列
为了( C = 1 , C <= N项(列表) , C ++,
标签<<添加表(行表(对列进行分组(列表[ C ] ) )) ;
) ;
我还注意到(出于某种原因)当我将上述代码剪切并粘贴到“回复”框中时,“分析列”从“:Y”切换为“:And”(!?)