SAS填充行

时间:2015-08-15 12:20:50

标签: sas

data have;
infile cards missover;
input scrssn :$11. year FIPS :$5.;
cards;
111-22-3333 2008 
111-22-3333 2009 
111-22-3333 2010 09990
111-22-3333 2011 
111-22-3333 2012 08880
111-22-3333 2013 
111-22-3333 2014 
333-44-5555 2009 
333-44-5555 2010 67897
333-44-5555 2011 
333-44-5555 2012 56789
333-44-5555 2013 
333-44-5555 2014 67899
333-44-5555 2015
333-44-5555 2016
333-44-5555 2017
333-44-5555 2018
;
run;

我想要数据

111-22-3333 2008 
111-22-3333 2009 
111-22-3333 2010 09990
111-22-3333 2011 09990
111-22-3333 2012 08880
111-22-3333 2013 
111-22-3333 2014 
333-44-5555 2009 
333-44-5555 2010 67897
333-44-5555 2011 67897
333-44-5555 2012 56789
333-44-5555 2013 56789
333-44-5555 2014 67899
333-44-5555 2015
333-44-5555 2016
333-44-5555 2017
333-44-5555 2018

对于每个scrssn,我想用之前的FIPS填充后续的FIPS,但是在可用FIPS的最后一行停止

非常感谢!!!

1 个答案:

答案 0 :(得分:1)

首先找出该组的最后一个非缺失值的位置。然后继续前一个值,但只到最后一个非缺失值的点。

def 'does recognise option from interface via @Delegate'() {
    given:
        def parser = new CmdLineParser(new Object() as Credentials )

    when:
        parser.parseArgument('-username=John', '-password=qwerty123', '-url=http://auth.plop.com')

    then:
    with(options) {
        username == 'John'
        password == 'qwerty123'
        url == 'http://auth.plop.com'
    }
  }