来自不同行的条件连接单元格内容你好,
有一种情况,如下所示。
我想将同一“案例#”的“描述”的不同行串联到一个与“案例#”对齐的组合单元格中
例如 C2串联所有“情况1”的B2,B3,B4
C5串联了“情况2”的B5
C6是B6,B7的串联,它们都是“情况3”
最后,将删除多余的行,仅保留一个Case#的一行,并在第二列中对其进行描述
可能的#of说明行针对不同的“案例”而有所不同。“ Case”有数千个,不可能手动完成
如果可能的话,我想寻求一些建议在JSL中进行操作,谢谢:)

回复:来自不同行的条件连接单元格内容销,
交互操作非常容易,JSL有点麻烦,尽管描述的数目是未知的,并且需要在代码中容纳。要以交互方式执行此操作:
- 如果没有,则创建一个填充有案例编号的列(即,您不希望该列中缺少值)。这可以用公式完成
If( Row() == 1 | !Is Missing( oldColRef ),
oldColRef,
Lag( newColRef, 1 )
)
其中oldColRef是对旧用例列的引用,而newColRef则引用您在公式中创建的列
- 选择描述列,然后选择列>实用程序>指标指示器列
- 使用表>摘要按新案例列进行汇总。选择所有指标列,然后选择“最大值”作为统计量。将统计列格式设置为column。您可以取消链接到原始表,但这不是必需的。

- 在结果表中,选择所有指标列,然后转到Cols> Utilities> Combine Columns。确保选中“选定的列为指标列”框。
我相信,结果表应该是您要寻找的表。让我知道这个是否奏效。谢谢 @brady_brady 在他的身上表现出了变化关于JMP®的十余件事(EU 2018 424) 探索谈话。如果您确实确实需要JSL代码,那么我可以提出一些建议。不过,对于新手脚本编写者来说,这可能毫无意义。
回复:来自不同行的条件连接单元格内容你好,
这是JSL要做的。我还有另一种交互方式来做到这一点,它使用了自动化Don描述的某些过程的工具。让我知道您是否需要这些;它们位于文件交换上的“数据表工具”加载项中。
另外,在Don的过程的第1步中,您可以选择列中的所有行,单击鼠标右键,然后选择“用上一个值替换丢失的内容”。(请注意,此菜单选项仅在列中实际缺少值或空字符串时显示。)
返回脚本:
下面的脚本假定第1列的名称为“ col1”,第2列的名称为“ col2”,并创建一个名为“ Combined”的列,因此将其更改为您的首选项。
我已经附了一张桌子,上面附有脚本。试试吧,我认为它会做您想要的。
干杯,
布雷迪
Names Default To Here(1);
dt = :col1 << get data table();
r = (dt << get rows where(:col1 == "" ));
for(i=1, i<=nrow(r), i++, dt:col1[r[i]] = dt:col1[r[i]-1]);
dt << new column ("Combined", character);
r = 1;
while (r <= nrow(dt),
set = dt << get rows where(:col1 == dt:col1[r]);
dt: Combined[r] = concatitems((dt:col2 << get values)[set], " ");
r += nrow(set);
);
回复:来自不同行的条件连接单元格内容非常感谢 @brady_brady @DonMcCormack
是的,使用脚本,我设法轻松完成了任务。
努力学习JSL,希望以后自己写点东西:)