JSL如何透過表達式重命名列名你好,
我有一個由摘要統計產生的列名稱清單。 我想刪除所有前綴和後綴,只保留我想要的部分。我該如何在 JSL 中執行此操作?
列
佔總數的%(UP9019-01) => UP9019-01
佔總數的百分比(UP9019-02) => UP9019-02
佔總數的%(UP9019-03) => UP9019-03
……
進階統計建模自動化和腳本編寫回覆:JSL如何透過表達式重命名列名嗨,納爾遜,
如果您不使用子群組,則統計列名稱將起作用。 就我而言,我需要使用子組。 總計的百分比仍將附加到子組回覆:JSL如何透過表達式重命名列名以下是使用「統計列名格式(「column」)」選項的簡單範例,顯示以原始列名命名的總列的百分比

names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");
Data Table( "big class" ) << Summary(
Group( :age ),
Name( "% of Total" )(:height),
Name( "% of Total" )(:weight),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" ),
Link to original data table( 0 )
);回覆:JSL如何透過表達式重命名列名嗨,納爾遜,
感謝您的提示。 第一個選項指定靜態列名稱格式(「列」)不起作用。 它仍然帶有表中總計的百分比。
您建議的 JSL 選項完美運作!
ColList = dt_source << get column names( string );
//% of Total(UP9019-01)
For( i = 4, i <= N Items( ColList ), i++,
Column( i ) << set name( Word( 2, Column( i ) << get name, "()" ) )
);回覆:JSL如何透過表達式重命名列名我處理這個問題的第一種方法是讓摘要平台名稱輸出欄位與輸入列名稱相同。這是透過指定來完成的
統計列名格式("column")
這可以從摘要平台輸入對話框中選擇
如果您無法執行此操作,那麼所需要做的就是使用此 JSL 重置列名稱
:Name("% of Total(UP9010-01)") << set name( "UP9019-01: );
如果這需要自動化而不是硬編碼,並且該列是資料表中的第一列,則可以使用此 JSL 進行處理
column(1) << set name(word(2,column(1)<<GET name=""></GET>