记录显示错误,但手动执行不标记错误嗨,
我有一个简单的脚本来做六个二元组并按行排列它们。 图表看起来是正确的,但日志显示错误。 当我通过对话框进行手动拟合时,将生成绘图(没有按行排列),但不会标记任何错误。 我正在编写此脚本以进行分发,因此我想解决此错误。 我该在哪里开始寻找?
提前致谢
安迪
名称未解决:通过访问或评估'By',By(:device_ID)/ * ### * /在平台启动中的异常访问或评估'Fit Group',Fit Group(/ * ### * / / Bivariate (Y(:Charge_Transfer_%0),X(:cycle_num)),
双变量(Y(:TvB_%0),X(:cycle_num)),
双变量(Y(:TvD_%0),X(:cycle_num)),
双变量(Y(:名称(“a * _%0”)),X(:cycle_num)),
双变量(Y(:名称(“b * _%0”)),X(:cycle_num)),
双变量(Y(:名称(“L * _%0”)),X(:cycle_num)),
<< {排成行(6)},
通过(:device_ID)
)
在以下脚本中,错误标记为/ * ### * /
Fit Group(
双变量(Y(:Charge_Transfer_%0),X(:cycle_num)),
双变量(Y(:TvB_%0),X(:cycle_num)),
双变量(Y(:TvD_%0),X(:cycle_num)),
双变量(Y(:名称(“a * _%0”)),X(:cycle_num)),
双变量(Y(:名称(“b * _%0”)),X(:cycle_num)),
双变量(Y(:名称(“L * _%0”)),X(:cycle_num)),
<< {排成行(6)},
通过(:device_ID)/ * ### * /
)
dt<<CURRENTDATATABLE></CURRENTDATATABLE>
Re:日志显示错误,但手动执行不会标记错误似乎是JMP 12中的一个错误,已在13中修复。看起来JMP的FitGroup尝试评估by语句,除了实际使用它来按组制作。您可以像这样解决问题:
dt=open("C:\Program Files\SAS\JMPPRO\12\Samples\Data/big class.jmp");
by=0; // work around JMP 12 issue
New Window( "Big Class - Bivariate",
V List Box(
dt<<FIT group=""></FIT>
现在JMP可以评估变量“by”(并忽略零结果)而不在日志中生成消息。
编辑:明确这个问题是在FitGroup中。
Re:日志显示错误,但手动执行不会标记错误附件是带有表脚本的数据表。
通常情节看起来不错,conern是日志显示很多错误。 我不喜欢将代码发布到产生错误的生产中。
安迪
Re:日志显示错误,但手动执行不会标记错误很确定你想要这个
dt<<FIT group=""></FIT>
而不是这个
dt<<BIVARIATE></BIVARIATE>
FitGroup很像平台,需要知道用于制作分组的表格。FitGroup然后运行包含的双变量平台,每个按组分别运行一次。by组实际上是子集表,使用dt << Bivariate使平台在整个表上运行,而不是FitGroup准备的子集。
我没有尝试使用多个打开的数据表,因此可能还有另一个问题。
Re:日志显示错误,但手动执行不会标记错误如果您发布我们可以测试用于故障排除的数据集的清理版本,则解决此问题可能要容易得多。 如果您担心IP,只需使用随机数或其他内容替换响应列中的值。
Re:日志显示错误,但手动执行不会标记错误你绝对肯定你的'by'栏的名字完全正确吗?使用我的修改后的数据集,使用by(名称(“colname”))语法或仅使用(:colname),它对我来说很好。
您可以尝试在双变量代码之前放置这样的内容,并查看它在日志中显示的内容。
show(as column(:device_id)[1])
它应该显示该列的第一行的值。如果没有,找出原因,那可能就是你的答案。
您也可以尝试show(作为列(OpticalData,:device_id)[1])
对不起,我以前会建议这个...... 我以为你的情节是正确的。
Re:日志显示错误,但手动执行不会标记错误你好
做了2改:
1个当前数据表(opticaldata)
2。强制双变量到光学数据
如建议。
目前,这使得情节进展顺利。 但它并不尊重by device_id。 它使用fir组绘制图并附加了正确的ID,但是图显示的是所有数据,而不是应该由device_id定义的子集。 此外,日志显示名称未解析的device_id错误。
如果我创建一个表脚本并以这种方式执行它正确绘图,但日志仍在抱怨device_id。
安迪
@mikedriscoll 中写道:
按照我认为JIm试图说的那样,datatable()不会使该表成为当前表,至少我认为它不会。我想你想要当前的数据表(表名)
OpticalData << Bivariate( Y( :name( "Charge_Transfer_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :name( "TvB_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :name( "TvD_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :Name( "a*_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :Name( "b*_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :Name( "L*_%0" ) ), X( :cycle_num ) ),
如建议。
Re:日志显示错误,但手动执行不会标记错误按照我认为JIm试图说的那样,datatable()不会使该表成为当前表,至少我认为它不会。我想你想要当前的数据表(表名)
Re:日志显示错误,但手动执行不会标记错误
这可能会为您提供解决方案。 强制Bivariates在正确的桌子上操作
New Window( "Fitness - Bivariate",
V List Box(
Fit Group(
OpticalData << Bivariate( Y( :name( "Charge_Transfer_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :name( "TvB_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :name( "TvD_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :Name( "a*_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :Name( "b*_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :Name( "L*_%0" ) ), X( :cycle_num ) ),
<<{Arrange in Rows( 6 )},
By( :name( "device_id" ) )
),
)
);
OpticalData << select where( :outlier != "---" );
OpticalData << exclude;
OpticalData << markers( "x" );
OpticalData << clear select;Re:日志显示错误,但手动执行不会标记错误我真的遇到了麻烦。
我需要将它嵌入更长的脚本中。 我认为它现在有一个相关但更大的问题。 该脚本生成了多个数据表,现在它正在尝试执行错误的数据表,即使特别设置了数据表。请注意,即使我特意设置了其他数据表,Fitness-Bivariate fit也会附加到.... SPU.Data表中。 如果我将所需的数据表带到for并突出显示新窗口的脚本并执行。 它会给出正确的图,但STILL会抛出错误。 如果在脚本中执行它甚至不会这样做,而是给我一个“在访问或评估BiVariate,Bad Arguement时找不到。
我在Mac和Windows上都使用JMP 12.2.0。
救命!

datatable(OpticalData);
New Window( "Fitness - Bivariate",
V List Box(
Fit Group(
Bivariate( Y( :name("Charge_Transfer_%0" )), X( :cycle_num ) ),
Bivariate( Y( :name("TvB_%0" )), X( :cycle_num ) ),
Bivariate( Y( :name("TvD_%0" )), X( :cycle_num ) ),
Bivariate( Y( :Name( "a*_%0" ) ), X( :cycle_num ) ),
Bivariate( Y( :Name( "b*_%0" ) ), X( :cycle_num ) ),
Bivariate( Y( :Name( "L*_%0" ) ), X( :cycle_num ) ),
<<{Arrange in Rows( 6 )},
By( :name("device_id") )
),
)
);
OpticalData<<SELECT where=""></SELECT>Re:日志显示错误,但手动执行不会标记错误试试这个
dt=open("$sample_data/big class.jmp");
New Window( "Big Class - Bivariate",
V List Box(
dt<<FIT group=""></FIT>
这可能只是在将适合组消息发送到显式dt时有所不同。
Re:日志显示错误,但手动执行不会标记错误我运行了一个修改过的脚本版本,经过修改以匹配我的数据,即使删除了列,也无法让它抛出该错误。它似乎在标记,好像它找不到列。它工作的事实几乎看起来像JMP版本问题,一些化妆品bug在后来的verison中清理过。您使用的JMP版本是什么?
Re:日志显示错误,但手动执行不会标记错误有帮助的人吗?
如果我运行脚本,图表就会生成,但它仍然会抛出错误?