如何获取数据表中的标题框值?在附加的示例数据表中,保存的脚本绘制了下面粘贴的图表。
我想获取数据表中的标题框值,其中第一列为 TestStage 编号,第二列为标题框值。如何通过 JSL 实现此目的?
如果我可以动态生成数据表,比如通过本地数据过滤器选择周数后,单击图形生成器窗口中的按钮即可生成数据表,那就更有用了。这可以通过 JSL 实现吗?

自动化和脚本视窗回复:如何获取数据表中的标题框值?您是否考虑过使用 Tabulate?
Names Default To Here(1);
dt = Open("$DOWNLOADS/example_DataTable.jmp");
nw = New Window("",
Data Filter Context Box(
H List Box(
dt << Data Filter(Local,
Add Filter(
columns(:TestWk),
Modeling Type(:TestWk, Nominal),
Where(
:TestWk == {19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}
),
Display(:TestWk, Find(Set Text("")))
)
),
gb = dt << Graph Builder(
Size(744, 332),
Show Control Panel(0),
Variables(X(:TestWk), Y(:Median), Group Y(:TestStage)),
Elements(
Points(X, Y, Legend(8)),
Caption Box(X, Y, Legend(10), Summary Statistic("N"))
),
SendToReport(Dispatch({}, "TestWk", ScaleBox, {Label Row(Show Major Grid(1))}))
),
tab = dt << Tabulate(Show Control Panel(0), Add Table(Row Table(Grouping Columns(:TestStage))))
)
)
);
如果这还不够,您可以添加按钮将表格转换为数据表(并在必要时隐藏表格)。
回复:如何获取数据表中的标题框值?@jthi谢谢,我接受了你的建议,这对我的实际情况有用。如果可能的话,我想控制另外两件事。
如何将表格上的“N”(蓝色箭头)改为“模具测试”之类的内容?
如何删除图表下方的文字和列表表(下图红色圈出的部分)?
另外,如何得到“N”的总和?

回复:如何获取数据表中的标题框值?我不知道如何轻松地将其隐藏在制表符之外,因为它似乎根据某些东西重新创建了它(当您的 Where 语句太大时,它会将其添加回来或做一些奇怪的事情)。您可以使用过滤器更改处理程序来做到这一点,但我会尽量避免这样做(我宁愿保留那个 Where 文本,也不愿开始弄乱它们)。
Names Default To Here(1);
dt = Open("$DOWNLOADS/example_DataTable.jmp");
nw = New Window("",
Data Filter Context Box(
H List Box(
dt << Data Filter(Local,
Add Filter(
columns(:TestWk),
Modeling Type(:TestWk, Nominal),
Where(
:TestWk == {19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}
),
Display(:TestWk, Find(Set Text("")))
)
),
gb = dt << Graph Builder(
Size(744, 332),
Show Control Panel(0),
Variables(X(:TestWk), Y(:Median), Group Y(:TestStage)),
Elements(
Points(X, Y, Legend(8)),
Caption Box(X, Y, Legend(10), Summary Statistic("N"))
),
SendToReport(Dispatch({}, "TestWk", ScaleBox, {Label Row(Show Major Grid(1))}))
),
tab = dt << Tabulate(
Change Item Label(Statistics(N, "Die tested")),
Show Control Panel(0),
Add Table(Column Table(Statistics(N)), Row Table(Grouping Columns(:TestStage)))
)
)
)
);
wait(0);
(nw << XPath("//TextBox[contains(text(), 'Where(')]")) << Visibility("Collapse");
回复:如何获取数据表中的标题框值?@jthi谢谢,我不介意 JMP 中的 where 语句,但是当将图表复制到其他 Windows 应用程序时,我宁愿不要它们。
是否可以在表格下方显示“N”(即已测试的芯片总数)的总和?
回复:如何获取数据表中的标题框值?您可以添加额外的 V 列表框来包装图形生成器并制表

查看更多...
Names Default To Here(1);
dt = Open("$DOWNLOADS/example_DataTable.jmp");
nw = New Window("",
Data Filter Context Box(
H List Box(
dt << Data Filter(Local,
Add Filter(
columns(:TestWk),
Modeling Type(:TestWk, Nominal),
Where(
:TestWk == {19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}
),
Display(:TestWk, Find(Set Text("")))
)
),
V List Box(
gb = dt << Graph Builder(
Size(744, 332),
Show Control Panel(0),
Variables(X(:TestWk), Y(:Median), Group Y(:TestStage)),
Elements(
Points(X, Y, Legend(8)),
Caption Box(X, Y, Legend(10), Summary Statistic("N"))
),
SendToReport(Dispatch({}, "TestWk", ScaleBox, {Label Row(Show Major Grid(1))}))
),
)
)
)
);
回复:如何获取数据表中的标题框值?@jthi谢谢,但是使用你的脚本无法在我的 JMP 16 中获取 V 列表框。
另外,在这种情况下,我的意思是总和是在图表上显示的数值 14(2+2+3+3+2+2)。
回复:如何获取数据表中的标题框值?您可以使用单独的制表符来实现

查看更多...
Names Default To Here(1);
dt = Open("$DOWNLOADS/example_DataTable.jmp");
nw = New Window("",
Data Filter Context Box(
H List Box(
dt << Data Filter(Local,
Add Filter(
columns(:TestWk),
Modeling Type(:TestWk, Nominal),
Where(
:TestWk == {19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}
),
Display(:TestWk, Find(Set Text("")))
)
),
V List Box(
gb = dt << Graph Builder(
Size(744, 332),
Show Control Panel(0),
Variables(X(:TestWk), Y(:Median), Group Y(:TestStage)),
Elements(
Points(X, Y, Legend(8)),
Caption Box(X, Y, Legend(10), Summary Statistic("N"))
),
SendToReport(Dispatch({}, "TestWk", ScaleBox, {Label Row(Show Major Grid(1))}))
),
tab2 = dt << Tabulate(Show Control Panel(0), Add Table(Column Table(Statistics(N))))
),
tab = dt << Tabulate(
Change Item Label(Statistics(N, "Die tested")),
Show Control Panel(0),
Add Table(Column Table(Statistics(N)), Row Table(Grouping Columns(:TestStage)))
)
)
)
);
wait(0);
(nw << XPath("//TextBox[contains(text(), 'Where(')]")) << Visibility("Collapse");