连接细胞我正在尝试将按复合变量分组的行转换为以空格分隔的连接单元格,分组依据为该复合变量。例如:

进入:
\
下面的代码创建了一个分组列和一个“N 行”列,但我无法将单元格的内容连接起来。
dt = 当前数据表();
dt_summary = dt << Summary(
分组(:B列),
统计数据(
Concatenate( :Column A, " " )
)
);
数据融合与清理回复:连接细胞你可以这样做。这样可以避免A列出现重复项,并且每个项目只列出一次。
Names Default To Here( 1 );
dt = Current Data Table();
Summarize( dt, cats = By( :Column B ) );
dt_summary = New Table( "Summary", New Column( "Category", Character, "Nominal" ), New Column( "Items", Character, "Nominal" ) );
For Each( {v, i}, cats,
dt_summary << Add Rows(
{:Category = v, :Items = Concat Items( Associative Array( dt:Column A[Where( dt, :Column B == v )] ) << Get Keys, " " )}
)
);
回复:连接细胞我喜欢用 JMP 表中的 SQL 查询来完成这项操作。
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
dt_concat = Query(
Table(dt, "t1"),
"\[
SELECT age, GROUP_CONCAT(sex) as g,
count(*) as n
FROM t1
GROUP BY age
]\"
);
您还可以通过在组连接符后添加 DISTINCT 来忽略重复项。
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
dt_concat = Query(
Table(dt, "t1"),
"\[
SELECT age, GROUP_CONCAT(DISTINCT sex) as g,
count(*) as n
FROM t1
GROUP BY age
]\"
);

回复:连接细胞谢谢回复。我之前没写过SQL查询,不过我会试试。
回复:连接细胞此外,还有一个愿望清单项目:将 Listagg/Concatenate/GROUP_CONCAT 添加到摘要平台