<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />为了避免 JMP 的表格闪烁行为,我正在尝试一种不同的方法。通常我会创建一个不可见的表格,并使用这些数据制作一个数据表。数据表很容易使用,但不幸的是,如果你创建了很多(像我一样)你会看到很多表出现和消失。
为了防止表格闪烁,我想直接从表格的树结构中提取数据。我越来越接近了,但还没有找到合适的技术。
这是一个例子:
dt =打开( "$sample_data\Big Class.jmp" ) ;
结核病=制表(
显示控制面板( 0 ) ,
添加表(
列表(分组列( :性别) ) ,
行表(分组列( :年龄) )
)
) ;
这将创建以下表格:
| 性别 |
| 年龄 | F | 米 |
| 12 | 5 | 3 |
| 13 | 3 | 4 |
| 14 | 5 | 7 |
| 15 | 2 | 5 |
| 16 | 2 | 1 |
| 17 | 1 | 2 |
要获得树结构,我使用以下命令:
实时版=结核病<<报告;
实时版<<显示树结构;
树结构的相关部分在这里:

我想从这三个 multitblnumcolboxen 中提取值。我该怎么做?这不起作用:
年龄列表=实时版[ multitblnumcolbox ( 1 )] <<获取值;
f_list =实时版[ multitblnumcolbox ( 2 )] <<获取值;
f_list =实时版[ multitblnumcolbox ( 3 )] <<获取值;
获取项目也不起作用。感谢您的任何建议!
彼得
嗯…… 听起来你需要类似的东西:
“newdt = tb << 制作成数据表(不可见);”
马特,
我知道我可以从表格中制作数据表。问题是,当我创建许多表格 + 数据表(使用 tb << make into data table)时,屏幕上有很多表格闪烁。我可以创建一个不可见的表格没问题。但是,当我将其转换为带有 tb << make 到数据表的表时,我无法制作一个不可见的表。我从数据表中的数据构建显示,但我想在不进行所有闪烁的情况下获取数据。
试试这个例子,你就会明白我在说什么。我注意到表格“闪烁”在 Windows XP 上运行的 JMP 9 中更为明显。在 JMP 8 中并没有那么糟糕。似乎在 Windows 7 下单独创建窗口“更便宜”,因此它更快。
dt =打开( “$sample_data/Semiconductor Capability.jmp” ) ;
tb1 = dt <<制表(
显示控制面板( 0 ) ,
添加表(
列表(分组列( :地点) ) ,
行表(分组列( : lot_id , :晶圆) )
) ,无形的
) ;
tab1_dt = tb1 <<制作成数据表;
tb1 <<关闭窗口;
tab1_dt <<最小化窗口( 1 ) ;
tb2 = dt <<制表(
显示控制面板( 0 ) ,
添加表(
列表(
分析列(
: NPN1 , : PNP1 , : PNP2 , : NPN2 , : PNP3 , : IVP1 , : PNP4 , : NPN3 , : IVP2 , : NPN4 ,
:坐1 , : INM1 , : INM2 , : VPM1 , : VPM2 , : VPM3 , : PMS1 , : SNM1 , : SPM1 , : NPN5 ,
: EP2 , : ZD6 , :聚苯胺, : PLG , :帽, :聚苯胺 2 , : PLG 2 , : PNP5 , : NPN6 , : PNP6 ,
: PNP7 , : NPN7 , : PNP8 , : IVP3 , : IVP4 , : IVP5 , : IVP6 , : PNP9 , : NPN8 , : NPN9 ,
: IVP7 , : NPN10 , : N_1 , : PBA1 , : WPR1 , : B10 , : PLY10 , : VBE210 , : VTN210 ,
: VTP210 , :坐2 , :坐3 , : INV2 , : INV3 , : INV4 , : INV5 , : FST1 , : FST2
)
) ,
行表(分组列( :批次 ID 中的晶圆 ID , :地点) )
) ,无形的
) ;
tab2_dt = tb2 <<制作成数据表;
tb2 <<关闭窗口;
tab2_dt <<最小化窗口( 1 ) ;
FWIW 我在具有 3 GB RAM 的联想 T420 上运行 JMP 9.0.2。处理器是英特尔 i5-2520M。正如我提到的操作系统是Windows XP。
问候,
彼得
通过使用 GET TEXT,我更进一步:
年龄_txt =实时版[ multitblnumcolbox ( 1 )] <<获取文本;
f_txt =实时版[ multitblnumcolbox ( 2 )] <<获取文本;
m_txt =实时版[ multitblnumcolbox ( 3 )] <<获取文本;
我可以将这些字符串解析成列表
crlf =十六进制转字符( “0D0A” ) ;
年龄列表=字(年龄_txt , crlf ) ;
f_list =字( f_txt , crlf ) ;
m_list =字( m_txt , crlf ) ;
有没有更好更直接的方法?