对选定行的值进行分组你好,
我正在尝试对选定行中的值进行分组
这是 dt:

最终输出应如下所示。因此,将产品值与相似百分比结合起来。有什么建议吗?

dt = Current Data Table();
dt << select duplicate rows( Match( :Label, :Percent ) );
Try( dt<< delete rows );
自动化和脚本回复:对选定行的值进行分组关闭此
这是一种方法
Names Default To Here( 1 );
dt = Current Data Table();
aa = Associative Array( :Percent << get values );
For Each( {{key, value}}, aa, aa[key] = dt[Loc( dt[0, "Percent"], key ), "Product"] );
dt << New Column( "Product Code Range", Character, Nominal, <<SET each="" value=""></SET>
回复:对选定行的值进行分组由于之前做过这种事情,我建议您在分组之前先对百分比列进行四舍五入。百分比值 .5 和 .5001 可能被格式化为显示为 .50,但它们会创建不同的组。有时我发现这样的脚本不仅需要四舍五入,还需要转换为字符列,以使代码更可靠。
回复:对选定行的值进行分组不错的解决方法:)
像这样的字符“聚合”——只需点击几下鼠标?
以下是我的愿望:
https://community.jmp.com/t5/JMP-Wish-List/Summary-and-Tabulate-add-aggregation-option-for-Character/idi-p/659314
回复:对选定行的值进行分组我使用 SQL 在 JMP 中执行此类聚合(并且像 Jim 所说的那样,最有可能应该转换为字符(或四舍五入)。其中一个原因是浮点数学 (300000000000000004.com) )
Names Default To Here(1);
dt = Open("$DOWNLOADS/product_dt.jmp");
dt << New Column("Selected", Numeric, Nominal, Formula(
Selected()
));
dt_result = Query(
Table(dt, "dt"),
"\[
SELECT Percent, Label, GROUP_CONCAT(Product, ',') AS Product
FROM dt
WHERE Selected = 1
GROUP BY Percent, Label
]\"
);