从报告中获取表格的问题大家好,
我试图将报告中的 TableBox() 中的信息提取到数据表中进行操作。 我已读完http://www.jmp.com/support/help/Manipulated_Displays.shtml#196022并有一些工作,但我有两个问题:
var = rdist["Summary Statistics"][1][1][1][1];
回报
"mean"
所以我知道我可以识别对象并使用语法,但是
var = rdist["Summary Statistics"][1][TableBox(4)][1][1];
回报
Cannot subscript Display Box in access or evaluation of 'Subscript' , rdist["Summary Statistics"][1][/*###*/Table Box( 4 )]
In the following script, error marked by /*###*/
var = rdist["Summary Statistics"][1][/*###*/Table Box( 4 )][1][1]
也许我错过了一些明显的东西。 附上展示树的图片。 不知道为什么它不接受语法。
真正的目标是获得我想要使用的表是“摘要统计”表框(4)。
所以当我尝试时:
var = rdist["Summary Statistics"][1][1];
rdist << make data table();
我得到:
The display box 'OutlineBox' does not recognize the message 'make data table'; perhaps you mean one of these: <<Make RowState Handler <<Selectable <<Get Title <<Set Title <<Set Menu Item State <<Get Menu Item State <<Set Scriptable Object <<Get Scriptable Object <<Add Text Item <<Set Font Name <<Get Font Name <<Set Window Title <<Add Pin Annotation <<Save Capture <<Get Window Title <<Set Window Title <<SetNotStretchable.

回复:从报告中获取表格的问题谢谢!
回复:从报告中获取表格的问题那是一个好主意。
这并不那么棘手。 您只需了解可以使用绝对或相对引用。 显示树图很有帮助,但我们不建议使用绝对引用。 如果显示树的根和目标显示框之间出现或消失某些内容,则该索引将会更改。 另一方面,相对引用几乎永远不会中断。 因此,在您的示例中, sr["Tests Between Groups"][TableBox(1)] 是最直接、最可靠的参考。 第一个下标到达目标轮廓框,然后下一个下标(它们是嵌套的)获得目标。 您确实不需要初始示例中的所有 [1] 下标。 事实上,由于我在本文开头提到的原因,这使得参考变得脆弱。
回复:从报告中获取表格的问题这样可行。 感谢您的澄清!
我想说这有点棘手,因为 JMP 脚本中的括号“TableBox(1)”中的 TableBox 列出了不同的数字,这是 OutlineBox 标记为“组间测试”之后的第一个 TableBox,而不是“TableBox( 4)”,这就是它在显示树中的显示方式。
我希望在 JMP 中看到的一个功能是能够将功能从显示树甚至报表拖到脚本窗口中,并使显示树引用出现在脚本编辑器中。
无论如何,我喜欢 JMP,并且 << make合并数据表() 命令是我的救星! 谢谢你写它!
回复:从报告中获取表格的问题显示树图中显示的索引是绝对参考。 [5]是绝对的。 稍后您将下标下标到单个本地表框,因此现在是 [1]。
我建议使用最接近的唯一参考,例如大纲框“组之间的测试”,然后是 TableBox(1)。
回复:从报告中获取表格的问题好吧,我意识到我向“make data table()”发送了错误的变量。 所以这样很好。 但我不明白的是:
sr = surv << Report;
var = sr[1][1][1]["Tests Between Groups"][1];
var<< make data table();
用我想要的统计数据制作一个漂亮的数据表。 但....
var = sr[1][1][1]["Tests Between Groups"][TableBox(5)];
返回:
Cannot subscript Display Box in access or evaluation of 'Subscript' , sr[1][1][1]["Tests Between Groups"][/*###*/Table Box( 5 )]
In the following script, error marked by /*###*/
var = sr[1][1][1]["Tests Between Groups"][/*###*/Table Box( 5 )]
所以我想知道的是为什么:
“var = sr[ 1 ][ 1 ][ 1 ][ 《组间测试》 ][表格框( 5 )];" -------- 与 -------- 不一样" var = sr[ 1 ][ 1 ][ 1 ][ 《组间测试》 ][ 1 ];”
我缺少一些语法吗?
回复:从报告中获取表格的问题将“制作数据表”更改为“制作组合数据表”,我想您会得到您想要的。它将把每个 Tableboxes 中的所有数据放入一个数据表中
回复:从报告中获取表格的问题谢谢你的回复吉姆。 这并不完全是我想要做的。
最终,我需要脚本对给定的报告进行迭代(“By”变量),并将 TableBox(4) 提取到数据表中,然后将所有这些与标识符或来自分析的哪个迭代连接起来。
我想我可以弄清楚连接等等,在这个例子中,它只是提取 TableBox(4) 作为数据表。 根据 JMP 脚本>显示树>操纵显示中的文章,这应该是可能的。
他们的例子是:
rbiv[tablebox(4)] << make data table("ANOVA table");所以我知道发送命令可以做数据表。 我只是不明白为什么在我的情况下我会收到错误消息,因为我可以适当地识别表中的数据。
回复:从报告中获取表格的问题这是我用来解决问题的方法
names default to here(1);
dt=open("$SAMPLE_DATA/semiconductor capability.jmp");
dis=Distribution(
Continuous Distribution( Column( :NPN1 ) ),
Continuous Distribution( Column( :PNP1 ) )
);
n items(report(dis));
mean=(report(dis)["NPN1"]["Summary Statistics"][1][1][2]<<GET></GET>