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

如何按ID分组排序:将Event=1的行置于同组首位且其余行日期升序

实现按ID分组调整行顺序的解决方案

可以通过SAS的PROC SORT过程实现需求,核心是通过多关键字排序规则,先按ID分组,再将Event='1'的行前置,剩余行按入院日期升序排列。

代码实现

/* 生成目标数据集DB1 */
proc sort data=DB out=DB1;
    by ID descending Event Date_Admission;
run;

规则说明

  • by ID:确保同一ID的所有行被归为一组,不会跨ID混合排序
  • descending Event:对Event字段降序排序,由于字符型的'1'ASCII码大于'0',降序后Event='1'的行自动排在该ID组的最前面
  • Date_Admission:对于Event值相同的行(即Event='0'的记录),按入院日期升序排列,符合需求中的剩余行排序规则

执行上述代码后,得到的DB1数据集将完全匹配你期望的输出结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 02:59:57