如何将基准窗口保存到数据表?你好 !
感谢这个脚本,我在 jmp 上生成了 BenchMarks 窗口,我想将它保存到数据表中(就像我执行“将脚本保存到数据表”一样),问题是我的脚本结尾不起作用!!
// Ouvrir la table de données
dt = Open(fichier1);
// Initialiser une liste pour stocker les noms des colonnes avec la note "INGOT CHARACTERISTICS"
cols_with_note = {};
// Parcourir chaque colonne de la table par index
For(i = 1, i <= N Cols(dt), i++,
col = Column(dt, i);
// Vérifier si la colonne a une note "INGOT CHARACTERISTICS"
If(col << Get Property("Notes") == "INGOT CHARACTERISTICS",
// Ajouter le nom de la colonne à la liste
Insert Into(cols_with_note, col << Get Name)
);
);
Print(
"Colonnes avec notes trouvées pour la famille " || "INGOT CHARACTERISTICS" || " : " ||
Char(cols_with_note) || "\n"
);
// Créer une nouvelle fenêtre pour regrouper tous les graphiques
report_window = New Window("BenchMarks_Ingot_Characteristics",
V List Box(
Fit Group(
For(i = 1, i <= N Items(cols_with_note), i++,
col_name = cols_with_note[i];
// Ajouter le graphique Oneway au Fit Group
Oneway(
Y(Column(dt, col_name)),
X(Column(dt, selection)),
Quantiles(1),
Means and Std Dev(1),
Box Plots(1),
Mean Error Bars(1),
Std Dev Lines(1),
X Axis Proportional(0),
Grand Mean(0),
SendToReport(
Dispatch({}, "Oneway Plot", FrameBox,
{DispatchSeg(
Box Plot Seg(1),
{Confidence Diamond(0), Shortest Half Bracket(0),
Line Color("Red")}
)}
)
)
);
)
)
)
);
// Enregistrer la fenêtre dans le fichier de données
report_window << Save Script to Data Table(
dt, // Spécifie la table de données
"BenchMarks_Ingot_Characteristics", // Nom de la fenêtre pour enregistrer
);
编辑 2024-08-12 jthi,添加 JSL 格式
自动化和脚本数据访问数据探索与可视化回复:如何将基准窗口保存到数据表?当您将 JSL 代码发布到 JMP 社区时,请使用 JSL 格式。您可以使用以下方式添加它:
。
关于您的问题,您使用的是哪个版本的 JMP?
回复:如何将基准窗口保存到数据表?以下两个选项可能对您有用。选项 2 通常更易于使用,但它创建的脚本在表中更难修改
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
sel = "SITE";
cols = Left(dt << Get Column Names("Continuous", "String"), 10);
// Option1
ow_expr = EvalExpr(dt << Oneway(
Y(Eval(Expr(cols))),
X(Eval(Expr(sel))),
Quantiles(1),
Means and Std Dev(1),
Box Plots(1),
Mean Error Bars(1),
Std Dev Lines(1),
X Axis Proportional(0),
Grand Mean(0),
SendToReport(
Dispatch({}, "Oneway Plot", FrameBox,
{DispatchSeg(
Box Plot Seg(1),
{Confidence Diamond(0), Shortest Half Bracket(0),
Line Color("Red")}
)}
)
)
));
Eval(EvalExpr(
dt << New Script("Plots", Expr(Name Expr(ow_expr)));
));
dt << Run Script("Plots"); // if you want to leave it open
// Option2
ows = dt << Oneway(
Y(Eval(cols)),
X(Eval(sel)),
Quantiles(1),
Means and Std Dev(1),
Box Plots(1),
Mean Error Bars(1),
Std Dev Lines(1),
X Axis Proportional(0),
Grand Mean(0),
SendToReport(
Dispatch({}, "Oneway Plot", FrameBox,
{DispatchSeg(
Box Plot Seg(1),
{Confidence Diamond(0), Shortest Half Bracket(0),
Line Color("Red")}
)}
)
)
);
ows[1] << Save Script for All Objects To Data Table("Plot2");回复:如何将基准窗口保存到数据表?我做了一个循环,将所有基准都放在一个 Fit Group 中,我想将所有 Fit Group 都保存在一个窗口中,你发给我的脚本对我来说不起作用:(
回复:如何将基准窗口保存到数据表?我提供给您的脚本有什么问题?您没有告诉我您使用的是哪个 JMP 版本,因此它可能不适用于所有 JMP 版本(我只能访问顶部 JMP17 和 JMP18)。
回复:如何将基准窗口保存到数据表?它没有在我的文件1中注册基准测试,不知道为什么回复:如何将基准窗口保存到数据表?我使用 jmp 16回复:如何将基准窗口保存到数据表?此外,你发给我的脚本不包含循环回复:如何将基准窗口保存到数据表?如果循环不是必需的(可能与 JMP16 有关),为什么要使用循环?使用我之前的脚本,您会得到这样的结果(在 JMP18 中)

回复:如何将基准窗口保存到数据表?雅尔莫,
我在 JMP 16 中运行了您的脚本,两个选项均按预期工作,并将脚本保存到原始数据表中。
回复:如何将基准窗口保存到数据表?我不明白当我需要为列表 cols_with_note as Y 中的每个值生成基准时,循环为什么不必要回复:如何将基准窗口保存到数据表?某些 JMP 平台允许您使用多列作为输入。获得列列表后,您可能可以直接将其用作平台中的输入。因此,您需要一个循环来收集列(或其他方法,我没有您的数据,所以我不知道),第二个循环可能是不必要的,具体取决于您希望获得的最终结果。
我的示例没有任何循环,因为我的示例脚本不需要循环任何列来创建示例列表。我只能选择一些列来演示您可以做什么,特别是因为您似乎已经解决了列集合部分。
回复:如何将基准窗口保存到数据表?好的,我明白了,但我不知道为什么当我点击按钮启动它时它不起作用?所以我知道它确实保存了它,但我无法从绿色按钮启动基准测试
回复:如何将基准窗口保存到数据表?右键单击脚本并选择编辑

然后您可以查看表中的脚本,很可能是其中存在错误。有时将它们正确保存到数据表中可能有点困难。
回复:如何将基准窗口保存到数据表?好的,非常感谢,你真的救了我!!我还有一个问题,我正在为几项研究做这个,有时列表 cols(或 cols_with_note)可能为空,但如果 cols 为空(这其实很正常),你发给我的脚本就不起作用,我正在制作这个脚本将它们添加到工作流表单跳转中。有没有办法说“如果 cols 为空,则停止脚本并传递给下一个”?
回复:如何将基准窗口保存到数据表?或者说,如果列表不为空,我们就会生成基准,否则我们什么也不做
回复:如何将基准窗口保存到数据表?您可以使用 if 语句和 N Items() 来检查列表是否有任何项目。然后,如果列表为空,则停止,否则执行其他操作
mylist = {};
If(N Items(mylist) == 0,
stop();
);
show(1);回复:如何将基准窗口保存到数据表?我强烈建议您花时间阅读“帮助”下拉菜单下的“脚本指南”。
回复:如何将基准窗口保存到数据表?我注意到,当我的列表仅包含一个列名或空列时,脚本会说:发送需要可编写脚本的对象,如何纠正这个问题?