剛剛發現 lstCols3或lstCols2作為列名列表也不起作用。
您可以動態地對Stack Platform進行編碼。 下面是一個簡單的示例:
Names Default to Here(1);
dt=open("$SAMPLE_DATA/Semiconductor Capability.jmp");
Listcols={:NPN1, :PNP1, :PNP2, :NPN2};
lstCos3="Discriptors";
lstCos2="Values";
n=2;
Data Table( "semiconductor capability" ) << Stack(
columns( Listcols ),
Source Label Column( lstCos3 ),
Stacked Data Column( lstCos2 ),
Drop All Other Columns( 1 ),
Number of Series( eval(N) )
);
但是,我從您的討論中得到的是,您認為“源標籤列”和“堆疊數據列”可以是名稱列表。 下面的文檔顯示,只能提供一個名稱
堆疊數據列
為該列分配一個名稱,該名稱將包含堆疊列的數據。默認名稱是數據 。如果您不希望此列出現在新表中,請將該框保留為空。
來源標籤欄
為該列分配一個名稱,該名稱將包含原始表的列名稱。默認名稱是標籤 。如果您不希望此列出現在新表中,請將該框保留為空。
如果需要為Stack Platform中產生的Data和Label列指定特定的名稱,只需在產生的新表中更改名稱即可。
我正在編寫一個腳本,以使用如下所示的JSL腳本堆疊一堆列。但是,我一直收到錯誤消息,“系列數應為正整數”。我需要N是可變的,具體取決於不同表需要堆疊多少列。我還有其他腳本來確定可以正常工作的列數。只是堆棧功能不起作用。
dt_join2=current data table();
N=49
Data Table( dt_join2 ) << Stack(
columns(Lstcols ),
Source Label Column( lstCols3 ),
Stacked Data Column( lstCols2 ),
Number of Series(N)
);
@txnelson 非常感謝Eval()函數使它起作用。