建立新列並根據另一列(列名變數)設定不同列中的每一行值你好,

我有類似圖中範例的數據。前 6 列是相關的。我建立了 MaxCol 列,以便根據前 3 列找出誰擁有最大值,然後我想建立 MaxValFromCol 列,該列會從 4-6 列中的一列中取值。它會根據 MaxCol 從 4-6 列取值。我嘗試使用 Column(char(:MaxCol) || "_t") 設定 MaxValFromCol 的值,但沒有成功。有人能提供一些建議嗎?我們如何將列值作為列名,並基於它設定值?
自動化和腳本回覆:建立新列並根據另一列(列名變數)從不同的列設定每一行的值這是我為 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];
這是 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] ) );

現在已經很晚了,我相信其他人會有更好的解決方案。
回覆:建立新列並根據另一列(列名變數)從不同的列設定每一行的值嗨,吉姆,
我能夠取得 MaxCol 的值。我希望 MaxValFromCol 的值是第 4-6 列的值,而不是列名。例如,第 1 行 MaxCol =="Lily",那麼 MaxValFromCol 的第 1 行將從 Lily_t 中取得值,即 4|5。第 2 行是 4|4,因為 MaxCol 的第 2 行是 Mike,所以 4|4 來自 Mike_t。

回覆:建立新列並根據另一列(列名變數)設定不同列中的每一行值對於只有幾列的情況,我認為可以使用像下面這樣的 if 條件,但我的列太多了。所以我想知道是否有辦法使用 MaxCOl 值作為變數來呼叫該列。
如果只有幾列,則以下方法可以奏效:
如果(:MaxCol ==“Lily”,:Lily_t,
:MaxCol =="Mike", :Mike_t,
:MaxCol =="Dan", :Dan_t,
)
當我有數百列時,希望有以下簡單的東西
MaxValFromCol == 欄位(char(:MaxCol)||“ _t”)
回覆:建立新列並根據另一列(列名變數)從不同的列設定每一行的值我的錯誤.......深夜......我會改正。
以下是我正在使用的兩個公式

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] ) );
回覆:建立新列並根據另一列(列名變數)從不同的列設定每一行的值我不太確定我是否會使用這樣的東西,但它可能有用
As Column(Column(:Column 1 ||"_t"))
您也很可能刪除 Column()
As Column(:Column 1 || "_t")