如何通过 JSL 设置文本框可见性(“折叠”)我有一个 JSL 用于创建一个窗口来显示许多图形生成器,由于我使用了 where 语言来过滤数据,新窗口将自动创建一个文本框(“其中:CID == a[1][g] & :VARABLE == a[2][g] & :WNDOW==a[3][g] & :SATISTIC==a[4][g] & :CLLECTION_NAME==a[5][g]”),我想设置这个文本框属性为“Collapse”,你能给我一个解决方案吗,非常感谢。
数据表(“FSS”):RUN_START_DATE << 数据类型(数字,格式(“yyyymmdd”,8),输入格式(“yyyymmdd”))<< 设置建模类型(“连续”);
总结(a=by(:CED,:VARABLE,:WNDOW,:SATISTIC,:CLLECTION_NAME),b=min(:LOWER_CRITICAL),c=max(:UPPER_CRITICAL));
n=nitems(b);
FDCD=新窗口("FDC", vlb=v 列表框());
对于(i = 1,i <= n,i=i+j-1,
hlb= h 列表框(
对于(j = 1,j <= 4,j ++,
g=i+j-1;
图表 = 图表生成器(
尺寸(400,300),
显示控制面板( 0 ),
显示标题( 0 ),
其中(:CID == a[1][g] & :VARABLE == a[2][g] & :WNDOW==a[3][g] & :SATISTIC==a[4][g] & :CLLECTION_NAME==a[5][g]),
显示位置( 0 ),
变量(
X(:运行开始日期),
Y(:值),
X 组( :ENTITY ),
覆盖(:RECIPE),
),
元素(点(X,Y,图例(10)),平滑器(X,Y,图例(11))),
发送至报告(
Dispatch({},"Graph Builder",OutlineBox,{设置标题( a[1][g]||"|"||a[2][g]||"|"||a[3][g]||"|"||a[4][g] ), 图像导出显示( 正常 )}),
Dispatch({},"RUN_START_DATE",ScaleBox,{ Interval( "Day" ),Inc( 3 ), Minor Ticks( 1 )}),
Dispatch({},"VALUE",ScaleBox,{//Max(c[i]+(c[i]-b[i])*0.1,:VALUE*1.1), Min( b[i]+(c[i]-b[i])*0.1,:VALUE*0.9 ),
添加参考线( c[g], "Dashed", "Red", "UCL", 1 ),
添加参考线( b[g], "Dashed", "Red", "LCL", 1 )})
)
(英文):
(英文):
(英文):
极小值<
(英文):
自动化和脚本回复:如何通过 JSL 设置文本框可见性(“折叠”)很多旧帖子都提供了解决方案。我首选的方法是使用 XPath
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("",
V List Box(
gb = dt << Graph Builder(
Show Control Panel(0),
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11))),
Where(:sex == "M")
),
gb = dt << Graph Builder(
Show Control Panel(0),
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11))),
Where(:sex == "F")
)
)
);
wait(1);
where_teb = nw << XPath("//TextBox[contains(text(), 'Where(')]");
where_teb << Visibility("Collapse");
如果您知道哪一列用于过滤或哪些值被过滤,则可以使 XPath 更加健壮
回复:如何通过 JSL 设置文本框可见性(“折叠”)一个很好的开始帖子:
快速获得正确问题的正确答案
https://www.google.com/search?q=how+to+remove+where++site%3Acommunity.jmp.com
使用 JSL 删除“哪里”文本框
JMP 用户社区2020年2月13日 —运行带有“where”函数的脚本时,会将一个文本框添加到报告中。如何删除它?有没有办法“不创建”它而不是删除它...
回复:如何使用 JSL 设置文本框可见性(“折叠”)我知道这是一篇旧帖子,但我尝试用这个方法从我生成的控制图中移除“Where”子句,但我的 XPath 表达式似乎总是返回一个空列表,即使我缩小搜索范围,只搜索没有筛选条件的 TextBox 对象也是如此。我的脚本结构如下:我有一个堆叠数据表。首先,我创建一个窗口并插入一个 VListBox。
CtrlChart = New Window("Trend Charts",
vlbreport = V List Box("Trend Review");
);
然后,我使用循环将控制图作为单独的 V 列表框附加到 vlbreport 中。
vlbreport << Append(
V List Box(
Control Chart Builder( **Control chart setting here) ); );
然后,在执行等待命令以确保窗口完全填充后,我尝试使用 XPath 简单地返回所有文本框,但我一直都找不到任何内容。
allbox = CtrlChart << XPath("//Textbox");
目前,allbox 返回的是 {}。如果我使用 CtrlChart 的“显示树状结构”功能,可以看到完整的结构,包括其中的所有 TextBox 对象,但它就是无法选中任何内容。您知道这是为什么吗?我喜欢使用 XPath 来隔离 Where 框的想法,因为它是一个真正动态的解决方案,可以应用于所有采用这种格式的脚本。但是,我对 XPath 几乎一无所知。我的脚本知识主要来自大量的反复试验、谷歌搜索和脚本指南。
回复:如何使用 JSL 设置文本框可见性(“折叠”)XPath 中的是 Text Box,而不是 Text Box (大写 B)。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
cols = {"NPN1", "PNP1", "PNP2"};
nw = New Window("Trend Charts",
vlb = V List Box()
);
For Each({colname}, cols,
vlb << Append(
ccb = dt << Control Chart Builder(
Show Limit Summaries(0),
Show Capability(0),
Variables(Y(Eval(colname))),
Show Control Panel(0),
Where(:Site == 1)
)
);
);
Show(nw << XPath("//Textbox[contains(text(), 'Where(')]"));
Show(nw << XPath("//TextBox[contains(text(), 'Where(')]"));
回复:如何使用 JSL 设置文本框可见性(“折叠”)这么简单的疏忽,谢谢你指出来!现在一切正常了,我真是太高兴了。把图表导出到PPT的时候,那些文本框尤其烦人。JMP真应该加个隐藏它们的设置,这样就不用这种变通方法了。