具有多个名称的堆栈列大家好!
假设我有一个数据表,如下所示:
A、B1、B2、C1、C2、D
1,2,3,4,5,16
6,7,8,9,10,16
11,12,13,14,15,16
我想将它们堆叠起来,以便新表看起来像这样:
甲、乙、丙
1,2,4
1,3,5
6,7,9
6,8,10
11,12,14
11,13,15
我有三个列表:一个包含需要保留的列:list_to_keep= {A}、list_to_stack_before= {B1,C1} 和 list_to_stack_after = {B2,C2}。
首先,我编写了一个脚本来创建一个包含新列名称的新列表:
new_column_names = {};
str = char(list_to_stack_before);
newstr = 替代(str,"","","_be_sam","");
new_column_names = 解析(newstr);
然后我尝试循环堆栈函数,但它总是只是添加更多行。我无法使用普通的 Stack 函数,因为它不允许我在“堆叠数据列”参数中使用多个名称。我怎么解决这个问题?非常感谢,我对 jmp 很陌生。
自动化和脚本编写回复:具有多个名称的堆栈列您好格雷格,非常感谢您的回复!
我熟悉堆栈接口,并且还使用工作流构建器来获取要堆栈的脚本。重命名的问题是,我没有想要堆叠的 3 列,而是更像 40 列,并且我希望它会随着新测量值的出现而增长。
我意识到我可能可以编写一个脚本来使用列表重命名列,但这似乎是一个不太好的解决方法,并且容易出现顺序错误。我希望有一个更顺利的方法。非常不幸的是,“新的列名称”选项不允许有多个参数。
最好的
回复:具有多个名称的堆栈列您要删除 D 栏吗?在真实的数据表中,如何决定删除哪些列?列(堆栈前和堆栈后)的命名约定是什么?通过 JSL 实现自动化应该不会太难。
*编辑*
另外,倍数总是相同吗?例如,如果有 B1 和 B2,那么是否总是有 C1 和 C2,还是也可能有 C3?如果是的话,应该如何处理?
回复:具有多个名称的堆栈列好的-
很高兴您能够编写脚本。感谢您澄清您正在寻找可扩展的东西以避免重命名许多列。
首先作为旁白/切线-作为手动模式下列名称操作的提示和技巧,但在规模上:这是快速且强大的(但需要小心完成)
- 在列窗格中,选择所有列 - “复制”(将文本放入复制缓冲区)
- 在另一个数据表(或电子表格或文字处理程序)中,“粘贴”-列列表被创建为文本。
按照您的意愿操作它(在适当的位置键入编辑文本,使公式列添加前缀/后缀...无论如何)...
- “复制”已编辑的文本列表新列名称
- 返回原表。清除列选择,然后重新选择列窗格中的列列表。“粘贴”以覆盖编辑的列名称
回到之前提出的表操作方法。
如果最低字符始终为 1/2(或至少指示应堆叠的列族),则可以通过两个表操作和一个公式来完成。如果操作需要可重复,则可以在工作流构建器中编写或捕获这些步骤。

添加公式列以修剪“标签”,不包括最低字符

按修剪后的标签“拆分”表数据...

回复:具有多个名称的堆栈列哇,多系列堆栈和堆栈+拆分之间的良好链接!