crea una nuova colonna e imposta ogni valore di riga da una colonna diversa in base a un'altra colonna (variabile nome colonna)CIAO,

Ho dati simili all'esempio in figura. Le prime 6 colonne sono correlate. Ho creato MaxCol per scoprire chi ha il valore massimo in base alle prime 3 colonne, quindi voglio creare la colonna MaxValFromCol in cui prende il valore da una delle colonne dalla 4 alla 6. Prenderà il valore dalle colonne dalla 4 alla 6 in base a MaxCol. Ho provato a impostare il valore di MaxValFromCol usando Column(char(:MaxCol) || "_t"), ma senza successo. Qualcuno può suggerirmi come prendere il valore di una colonna come nome di colonna e impostare il valore in base a esso?
Automazione e scriptingRe: crea una nuova colonna e imposta ogni valore di riga da una colonna diversa in base a un'altra colonna (variabile nome colonna)Ecco la formula che ho elaborato per MaxCol
As Constant(
startCol = 1;
endCol = 3;
nCol = (endCol - startCol) + 1;
dt = Current Data Table();
colNames = dt << get column names;
);
theMax = Loc( dt[Row(), Index( startCol, endCol )], Max( dt[Row(), Index( startCol, endCol )] ) );
theMax = (theMax + startCol) - 1;
colNames[theMax][1];
ed ecco la formula per MaxValFromCol
As Constant(
startCol = 1;
endCol = 3;
nCol = (endCol - startCol) + 1;
dt = Current Data Table();
colNames = dt << get column names();
);
theMax = Loc( dt[Row(), Index( startCol, endCol )], Max( dt[Row(), Index( startCol, endCol )] ) )
+ncol;
Parse( Char( colNames[themax][1] ) );

È notte fonda e sono sicuro che altri avranno soluzioni migliori.
Re: crea una nuova colonna e imposta ogni valore di riga da una colonna diversa in base a un'altra colonna (variabile nome colonna)Ciao Jim,
Sono riuscito a ottenere MaxCol. Quello che voglio che MaxValFromCol sia il valore delle colonne 4-6, non il nome della colonna. Ad esempio, se la riga 1 è MaxCol =="Lily", la riga 1 di MaxValFromCol prenderà il valore da Lily_t, che è 4|5. La riga 2 è 4|4 perché la riga 2 di MaxCol è Mike, quindi 4|4 proviene da Mike_t.

Re: crea una nuova colonna e imposta ogni valore di riga da una colonna diversa in base a un'altra colonna (variabile nome colonna)Per poche colonne penso di poter usare la condizione if come di seguito, ma ho troppe colonne. Quindi mi chiedo se ci sia un modo per usare il valore MaxCOl come variabile per chiamare la colonna.
se sono presenti solo poche colonne, può funzionare quanto segue:
se(:MaxCol =="Lily", :Lily_t,
:MaxCol =="Mike", :Mike_t,
:MaxCol =="Dan", :Dan_t,
)
spero di avere qualcosa di semplice come quello di seguito quando ho centinaia di colonne
MaxValFromCol == Colonna(char(:MaxCol)||"_t")
Re: crea una nuova colonna e imposta ogni valore di riga da una colonna diversa in base a un'altra colonna (variabile nome colonna)Il mio errore...a tarda notte...lo correggerò.
Ecco le 2 formule che ho utilizzato

As Constant(
startCol = 1;
endCol = 3;
nCol = (endCol - startCol) + 1;
dt = Current Data Table();
colNames = dt << get column names( string );
);
theMax = Loc( dt[Row(), Index( startCol, endCol )], Max( dt[Row(), Index( startCol, endCol )] ) );
theMax = (theMax + startCol) - 1;
x = colNames[theMax][1];
x;
As Constant(
startCol = 1;
endCol = 3;
nCol = (endCol - startCol) + 1;
dt = Current Data Table();
colNames = dt << get column names( string );
);
theMax = Loc( dt[Row(), Index( startCol, endCol )], Max( dt[Row(), Index( startCol, endCol )] ) )
+ncol;
Eval( Parse( "x=:" || colNames[theMax][1] ) );
Re: crea una nuova colonna e imposta ogni valore di riga da una colonna diversa in base a un'altra colonna (variabile nome colonna)Non sono sicuro che userei qualcosa del genere, ma potrebbe funzionare
As Column(Column(:Column 1 ||"_t"))
Probabilmente puoi anche eliminare la colonna()
As Column(:Column 1 || "_t")