创建带有过滤器的汇总表的脚本大家好
我有一个数据表,其中包含一些数字列(VAL1、VAL2)和一些字符列(CATEG1、CATEG2、CATEG3)。
我想编写一个脚本来创建一个汇总表,报告按“CATEG1,23”分组的每个数值的平均值;这很容易做到:
Data Table( "MyTable" ) <<
Summary(
Group(
:Lot,
:Name( "CATEG1" ),
:Name( "CATEG2" ),
:Name( "CATEG3" ),
),
Mean( :VAL1),
Mean( :VAL2),
Freq( "None" ),
Weight( "None" ),
)
但是,我还喜欢根据 CATEG1,2,3 过滤结果:例如,仅包含 CATEG1==“标准”的结果。
我尝试粗暴地插入一个“where”子句,但它似乎不起作用
where(:CATEG1 == "Standard")
我知道这可以轻松地以交互方式完成,但我想通过脚本来完成。
谢谢
电动车1976
数据探索和可视化大规模定制回复:使用过滤器创建汇总表的脚本通过过滤,您的意思是要删除其他行吗? 如果是这种情况:
使用 Big Class.jmp 作为示例表。 仅将具有 :sex 值为“M”的行保留到汇总表
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
wait(1);
dt_summary = dt << Summary(
Group(:age, :sex),
Mean(:height),
Mean(:weight),
Freq("None"),
Weight("None"),
Link to original data table(0)
);
wait(1);
dt_summary << Delete Rows(dt_summary << Get Rows Where(:sex != "M"));
使用表格也可能是一个不错的选择。 您可以使用本地数据过滤器或直接添加Where(我在这里做什么)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
wait(1);
tab = dt << Tabulate(
Show Control Panel(0),
Add Table(
Column Table(Analysis Columns(:height, :weight), Statistics(Mean)),
Row Table(Grouping Columns(:sex, :age))
),
Where(:sex == "M")
);
脚本索引有很好的建议:
删除行:

在哪里获取行:

选择地点:

回复:创建带过滤器的汇总表的脚本两种解决方案都适合我。
“制表”选项完全符合我的需要
非常感谢你
EV1976