<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 <<获取列组( “溶出柱组” ) ) ,
输出表( “使用组名称作为参数进行堆叠” )
) ;