You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SAS中根据另一变量值保留指定数量的记录

SAS数据子集化:按Total保留对应Count范围的记录

核心逻辑

针对每个ID分组,保留Count值处于1到Total区间内的行,直接过滤Count超出该范围的记录。

方案1:DATA步实现

若原始数据未按ID排序,先执行排序操作:

proc sort data=original_data;
    by ID;
run;

再进行子集化处理:

data subset_data;
    set original_data;
    by ID;
    /* 筛选Count在1到Total之间的行 */
    if 1 <= Count <= Total;
run;

方案2:PROC SQL实现

无需提前排序,直接通过WHERE子句完成过滤:

proc sql;
    create table subset_data as
        select *
        from original_data
        where Count between 1 and Total;
quit;

处理后结果

最终得到的子集数据如下:

IDTotalCountTime
ABC21.
ABC2200:00
LMN3102:25
LMN3304:45
LMN3207:45

内容的提问来源于stack exchange,提问作者Jingxin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 09:00:08