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

使用PROC SQL筛选满足转会时间条件的联赛1球员观测数据

解决方案

你原有代码仅实现了「判断球员是否同时在两个联赛有效力记录」的逻辑,缺少对转会时间先后的校验,修改后可直接满足需求的代码如下:

PROC SQL;
   CREATE TABLE Shared_Players AS SELECT DISTINCT L1.*,
   CASE
      WHEN EXISTS (
          SELECT 1 FROM League2 L2
          WHERE L2.Player = L1.Player
          AND L1.End_Date < L2.Start_Date
      ) THEN "X" ELSE " " END AS Transferred
   FROM League1 L1;
QUIT;

逻辑说明

  • 保留联赛1的全部观测行,不会过滤掉不符合转会条件的球员记录,和你期望的输出结构一致
  • 用EXISTS子查询同时校验两个条件:球员在联赛2存在效力记录、该球员在联赛1的效力结束日期早于联赛2的效力开始日期,仅对同时满足两个条件的行标注X
  • 避免了子查询返回重复值导致的结果行数异常问题

注意事项

请确保两个数据集的Start_Date、End_Date为SAS日期类型,若为字符串格式,需要先转换为日期值再做比较,转换方法为INPUT(日期字段, MMDDYY10.)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:15:02