<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />嗨,
我有五個數字列。需要創建一個新列,以反映五列每行中的最大值。而不是返回值我需要在每一行中放置相應的列名稱。
謝謝
山姆
薩姆你好,
在最基本的層面上,試試這個:
DT = 新表 ( “數據表” ,
新欄目 ( “X1” ,式 ( 隨機統一 () ) ) ,
新欄目 ( “X2” ,式 ( 隨機統一 () ) ) ,
新欄目 ( “X3” ,式 ( 隨機統一 () ) ) ,
新欄目 ( “X4” ,式 ( 隨機統一 () ) ) ,
新欄目 ( “X5” ,式 ( 隨機統一 () ) ) ,
添加行 ( 100 )
) ;
DT << 新欄目 ( “最大名稱” ,
字符 ,
式 (
如果 (
: X1 == 最大值 ( : X1 , : X2 , : X3 , : X4 , : X5 ) , “X1” ,
: X2 == 最大值 ( : X1 , : X2 , : X3 , : X4 , : X5 ) , “X2” ,
: X3 == 最大值 ( : X1 , : X2 , : X3 , : X4 , : X5 ) , “X3” ,
: X4 == 最大值 ( : X1 , : X2 , : X3 , : X4 , : X5 ) , “X4” ,
: X5 == 最大值 ( : X1 , : X2 , : X3 , : X4 , : X5 ) , “X5” ,
)
)
) ;
從這裡你可以進一步概括它。
請注意,如果在一行中有相等的值,則該公式將更喜歡列在if語句中的位置(對於好的和壞的)。
它可以使用列公式來完成,但使用小型JSL腳本會更容易。最後一行中的循環標識具有最高值的列,並將其名稱放在新列“max”中。如果多個列具有相同的最大值,則將選擇第一個實例。
DT = 當前數據表 () ;
COLS = DT << getcolumn名字 ( 數字 ) ;
NEWCOL = DT << 新欄目 ( “最大” ,字符 ) ;
對於每一行 ( NEWCOL [] = COLS [ Loc Max ( 矩陣 ( COLS ))] << 得到名字 ) ;