如何使用复制表脚本()嘿大家,
我想从已创建的汇总表中复制数据表脚本,并将其代码粘贴回父级表,以便以后分析时可以调用该表,而无需将实际的表保存到其他地方。本质上是为了简化用户体验,避免用户不得不保存多个表文件,然后重新打开一堆文件以便稍后使用分析结果。
我以为它会沿着这些线,但这是行不通的。dt1 将是摘要表,dt2 将是父表。
因此这将复制 dt1 的数据表脚本,然后将其作为表脚本放置在 dt2 中。
source_script = dt1 << Copy Table Script();
Eval(EvalExpr(
dt2 << New Script("SourceFromSummary",
Expr(Name Expr(source_script))
);
));
任何建议都将不胜感激!
史蒂夫
自动化和脚本回复:如何使用复制表脚本()您希望获得生成的汇总表,还是可以直接使用脚本创建汇总表?请使用“<< 获取脚本”,而不是“复制表脚本”(它会将其复制到剪贴板)。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt_summary = dt << Summary(
Group(:Age),
subgroup(:sex),
Mean(:Height),
Include marginal statistics
);
summary_script = dt_summary << get script;
Eval(EvalExpr(
dt << New Script("Summary", Expr(NameExpr(summary_script)));
));
回复:如何使用复制表脚本()嘿@jthi ,
我希望得到结果表。正在创建的汇总表来自“生成数据表”功能,我希望能够在稍后提取结果表,而无需重新运行分析(如果我抓取嵌入的源表脚本,则需要重新运行分析)。
回复:如何使用复制表脚本()在这种情况下,<< 获取脚本应该适合你
Names Default To Here(1);
dt = New Table("ABC",
Add Rows(10),
New Column("A", Set Each Value(1)),
New Column("B", Set Each Value(1)),
);
tablescript = dt << get script;
Eval(EvalExpr(
dt << New Script("Create Copy", Expr(NameExpr(tablescript)));
));

如果您确实希望使用 Copy Table Script()(不确定为什么在这种情况下会这样)请使用 Get Clipboard() 和 Parse()
Names Default To Here(1);
dt = New Table("ABC",
Add Rows(10),
New Column("A", Set Each Value(1)),
New Column("B", Set Each Value(1)),
);
dt << Copy Table Script();
Eval(EvalExpr(
dt << New Script("Create Copy", Expr(Parse(Get Clipboard())));
));
回复:如何使用复制表脚本()好的!
我没有意识到我只能使用获取脚本,我试图复制复制表脚本的红色箭头操作,所以这就是我在脚本索引中找到的。
附带问题,有没有办法让一个表成为父表的“子表”(就像当你创建一个汇总表然后链接它时)

这样,当您关闭父表时,它将关闭主表,并且能够折叠主窗口中的表。
回复:如何使用复制表脚本()要创建“子表”,我认为它们必须相互关联 -> 您需要使用“汇总”功能,而不是复制带有“链接到原始表(1)”的表脚本。另一个选择是修改表脚本,并在运行表脚本时将“<< On Close”添加到原始表,但这很难确保它始终指向正确的(原始)表,因为“当前数据表()”可能无法按您预期的方式工作。您还需要注意的是,当创建越来越多的表时,要保持“On Close”脚本的更新。为此,您可以通过表变量管理“On Close”的“引用”,或者尝试使用“<< get on close”提取上一个“On Close”脚本,并将其与要关闭的新表合并。
回复:如何使用复制表脚本()您还可以利用“订阅数据表列表”并使用特定的表名来了解哪些表与主表相关。