<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
我需要堆疊列名稱中具有特定字符串的列,因此我編寫了一個腳本來迭代所有列,以查看它們的名稱是否具有所查找的字符串,然後使用具有該字符串的所有列創建一個組(請參閱下面的腳本。列被推到表的末尾,以便更容易分組)。
然後,我想要堆疊列組,這在手動執行時很簡單(選擇組會使用組中所有列的名稱填充“堆棧”窗口)。 然而,我無法弄清楚如何編寫 Stack() 命令的腳本來使用 Group 作為參數。
Group 是否是 Stack() 函數的有效參數?如果是,JSL 語法是什麼?
如果無效,堆疊(可變)數量列的其他選項是什麼?
dt =當前數據表() ;
列名列表= ( dt <<獲取列名稱()) ;
n_溶出度_列= 0 ;
為了(變量列號= N 項(列名列表) ,變量列號>= 1 ,變量列號--,
當前列名=大寫(字符(列名稱列表[變量列號])) ;
如果(芒格((當前列名) , 1 , 「解散」 ) > 0 ,
n_溶出度_列= n_溶出度_列+ 1 ;
柱子(變量列號) <<設置選定( 1 ) ;
dt <<移動選定的列(到最後) ;
) ;
) ;
dt <<組列( “溶出柱組” ,柱子( N 項(列名列表) + 1 - n_溶出度_列) , n_溶出度_列) ;
我在另一篇關於轉置一組列的文章中找到了答案(如何在轉置數據語句中使用一組列)。這樣做的方法是使用<< 獲取列組("組名"):
dt <<堆(
列( dt <<獲取列組( “溶出柱組” ) ) ,
輸出表( “使用組名稱作為參數進行堆疊” )
) ;