我尝试手动点击列管理器和制作成数据表选项,脚本保存如下。当我复制并运行脚本时,遇到了附件中的错误。如何使用 JSL 脚本从列管理器生成数据表?
Names Default To Here( 1 );
Assign( rpt );
Wait( 0 );
rpt["Columns Manager", Table Box( 1 )] << Make Into Data Table;
rpt << Close Window;
这是我编写的脚本,用于从列管理器创建数据表
Names Default To Here( 1 );
dt=current data table();
main menu("columns manager");
rpt = window(dt << get name || " - Columns Manager");
Wait( 0 );
rpt["Columns Manager", Table Box( 1 )] << Make Combined Data Table;
rpt << Close Window;
列管理器似乎返回了一个有点奇怪的引用,你需要做一些额外的操作才能获取数据表( @朱利安不确定这个问题在 JMP19 中是否已经修复)。这里还有一个选项
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
cm = dt << Columns Manager(
Hide Hidden Columns(0),
Hide Excluded Columns(0),
Include Extended Statistics(1),
Force calculations for all numeric columns(1),
Force calculations for all categorical columns(1)
);
wait(0);
(cm << top parent)[TableBox(1)] << Make into Data Table();
我不确定 wait(0) 对于列管理器是否总是足够,因为我认为它可以动态计算统计数据。如果你有列组,你必须先展开它们。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Probe.jmp");
dt << Expand All Column Groups;
cm = dt << Columns Manager(
Hide Hidden Columns(0),
Hide Excluded Columns(0),
Include Extended Statistics(1),
Force calculations for all numeric columns(1),
Force calculations for all categorical columns(1)
);
wait(0);
(cm << top parent)[TableBox(1)] << Make into Data Table();
您是否尝试过数据字典是否足以满足您的用例?
