我想用第二个数据表中的新列更新数据表。 交互式地,它将值正确匹配到相应的行。 但是在脚本中却没有。 我使用了表达式,但是似乎它没有在日志中显示问题,因为它只是将助手表添加到原始数据表中并且没有匹配项。为什么这样行不通?
Names Default to here(1);
dt = Open("./OrigTable.jmp");
idgroup = {"A", "B", "C", "D", "E", "F", "G"};
ymeanCleared = {[1.192, 1.349, ., 0.994, 1.101, 0.985, .],[1.054, .,
1.174, ., 1.297, 0.80365, .]};
// Column Dialog to select Parameter "HC-E T/g" and "PN-E T/g"
dlg = Column Dialog(
yCol = Col List( "Y, Data", Data Type( Numeric ), Min Col( 1 ) ),
Line Up( 2, "Significance", a = Edit Number( 0.05 ) ),
"Select data for outlier test"
);
If( dlg["Button"] == -1,
Throw( "User cancelled" )
);
Remove From( dlg );
Eval List( dlg );
for (l=1,l<=N Items (yCol), l++,
paramName = Word (1,Char( Name Expr( ycol[l] ) ),"- ");
ColNameFZ = "Fahrzeug-ID " || paramName;
ColNameM = "Prueffeld Mean " || paramName;
ColNameS = "Prueffeld Stdv " || paramName;
dt_help = New Table( "Help_"||char(num(l)),
Add Rows( N Items(idgroup) ),
New Column( ColNameFZ, Character, Nominal, <<SET values=""></SET>
一些屏幕截图可以帮助我尝试:



现在交互式更新


for (l=1,l<=N Items (yCol), l++,
paramName = Word (1,Char( Name Expr( ycol[l] ) ),"- ");
ColNameFZ = "Fahrzeug-ID " || paramName;
ColNameM = "Prueffeld Mean " || paramName;
ColNameS = "Prueffeld Stdv " || paramName;
dt_help = New Table( "Help_"||char(num(l)),
Add Rows( N Items(idgroup) ),
New Column( ColNameFZ, Character, Nominal, <<SET values=""></SET>
原始脚本无法运行。 不确定此功能是否有效。 主要问题似乎是Update中的语法错误。
谢谢,彭! 我真瞎!
如果我不是一个人看到它,这里有一些问题:
我为宽度表设置了错误的括号,并使用了错误的列名。 此外,与在替换项中使用表达式相比,替换项中的Name Expr(str)是正确的方法。