按行合并数据你好,
我正在尝试执行以下操作:
给定产品列和批次列,我需要创建“产品批次”列,以便它结合基于同一产品的所有“批次”。

最终目的是得到Tabulate:

X1、X2、X3、X4 不必存在于单个单元格中,这样也可以(以更简单者为准):

当我有一个包含数千个数据点的表时,手动执行这个过程是疯狂的。
太感谢了!
附有JMP表。
亚历克斯。
自动化和脚本数据混合和清理回复:按行合并数据非常常见的问题。
有很多技巧和解决方法。
在 JMP 的未来版本中,这将变得非常简单:
:folded_hands: 汇总和制表:为字符列添加聚合选项
...如果有足够多的用户点击链接并投票。
回复:按行合并数据这是一种方法
Names Default To Here(1);
dt = Current Data Table();
custom_sql = Eval Insert(
"\[SELECT Product, GROUP_CONCAT(DISTINCT CAST("Lot" as TEXT)) as "Lots in Product"
FROM t1
GROUP BY Product
]\");
dt_concat = Query(
Table(dt, "t1"),
custom_sql
);<BR /><BR />New window("Tablebox",<<TYPE></TYPE>Data Table Box( dt_concat ));回复:按行合并数据另一个:
dt = Current Data Table();
dt << New Column( "rank", Formula( Col Rank( 1, :Product ) ), );
dtsplit = dt << Split(
Split By( :rank ),
Split( :Lot ),
Group( :Product ),
Remaining Columns( Drop All ),
);
cols = dt split << get column names();
cols = cols[2 :: N Items( cols )];
dt split << New Column( "concat", Character, Set Each value( Concat Items( cols, "," ) ) );
dt << Update(
With( dt split),
Match Columns( :Product = :Product ),
Add Columns from Update Table( :concat ),
Replace Columns in Main Table( None )
);
回复:按行合并数据效果很好!谢谢!