代码之家  ›  专栏  ›  技术社区  ›  NewUsr_stat

仅在复制日期上求和值

sas
  •  0
  • NewUsr_stat  · 技术社区  · 5 月前

    如何仅在每个ID出现重复日期时对变量的值求和?

    假设有:

    data have;
      input ID :$20. Date :date09. Value; 
      format Date date9. Value;
    cards;
    0001 13JAN2017 0
    0001 22FEB2017 1
    0001 22FEB2017 1
    0001 30JAN2019 0
    0002 28DEC2014 1 
    0002 28DEC2014 2
    0002 28DEC2014 1
    0002 28DEC2014 0
    0003 15DEC2021 0
    0003 16DEC2021 1
    ;
    
    
    

    期望的输出应该是:

    data want;
      input ID :$20. Date :date09. Value; 
      format Date date9. Value;
    cards;
    0001 13JAN2017 0
    0001 22FEB2017 2
    0001 30JAN2019 0
    0002 28DEC2014 4
    0003 15DEC2021 0
    0003 16DEC2021 1
    ;
    
    

    提前感谢

    1 回复  |  直到 5 月前
        1
  •  1
  •   Tom    5 月前

    只需将所有组相加。只有一个观察结果的组与有多个观察值的组没有什么不同。

    proc summary data=have ;
       by id date;
       var value;
       output out=want sum=;
    run;