Voglio aggiornare una tabella dati con nuove colonne da una seconda tabella dati. In modo interattivo abbina correttamente i valori alle righe corrispondenti. Ma nello script non è così. Ho usato espressioni, ma sembra che abbia un problema non visualizzato nel registro, in quanto aggiunge semplicemente la tabella di supporto alla tabella dati originale e non corrisponde. Qualche idea per cui non funziona?
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>
Alcuni screenshot per aiutare con quello che ho provato:



ora aggiornamento interattivo


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>
Lo script originale non viene eseguito. Non sono sicuro che questo faccia il lavoro. Il problema principale sembra essere l'errore di sintassi in Update.
Grazie, Peng! Sono così cieco!
Ecco i problemi, nel caso non fossi l'unico a vederli:
Ho impostato la parentesi per la tabella di larghezza in modo errato e ho usato il nome di colonna sbagliato. Inoltre, Name Expr(str) in Substitute era il modo corretto di usare l'espressione all'interno del sostituto.