我想用第二個數據表中的新列更新數據表。 交互式地,它將值正確匹配到相應的行。 但是在腳本中卻沒有。 我使用了表達式,但是似乎它沒有在日誌中顯示問題,因為它只是將助手錶添加到原始數據表中並且沒有匹配項。為什麼這樣行不通?
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)是正確的方法。