刚刚发现 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()函数使它起作用。