2016-02-05 8 views
-1

У меня есть набор данных, как показано ниже. Мне нужно исключить FIRST несколько строк, которые «< 100» основаны на модели. После подсчетов> 100, следующие строки будут сохранены независимо от того, отсчеты> 100 или < 100.SAS - исключить первые несколько строк

|Make |Model |SoldMonth|Counts| 
|ford |class_c |Jan_2015 |80 | 
|ford |class_c |Feb_2015 |90 | 
|ford |class_c |Mar_2015 |70 | 
|ford |class_c |Apr_2015 |120 | 
|ford |class_c |May_2015 |130 | 
|ford |class_c |Jun_2015 |50 | 
|ford |class_c |Jul_2015 |70 | 
|ford |class_c |Aug_2015 |140 | 
|ford |class_c |Sep_2015 |110 | 
|ford |Maxi |Jan_2015 |20 | 
|ford |Maxi |Feb_2015 |50 | 
|ford |Maxi |Mar_2015 |80 | 
|ford |Maxi |Apr_2015 |120 |  
|ford |Maxi |May_2015 |130 | 
|ford |Maxi |Jun_2015 |110 | 
|ford |Maxi |Jul_2015 |180 | 
|ford |Maxi |Aug_2015 |90 | 
|ford |Maxi |Sep_2015 |110 | 

Вот что я хочу получить:

|Make |Model |SoldMonth |Counts|  
|ford |class_c |Apr_2015 |120 | 
|ford |class_c |May_2015 |130 | 
|ford |class_c |Jun_2015 |50 | 
|ford |class_c |Jul_2015 |70 | 
|ford |class_c |Aug_2015 |140 | 
|ford |class_c |Sep_2015 |110 |  
|ford |Maxi |Apr_2015 |120 | 
|ford |Maxi |May_2015 |130 | 
|ford |Maxi |Jun_2015 |110 | 
|ford |Maxi |Jul_2015 |180 | 
|ford |Maxi |Aug_2015 |90 | 
|ford |Maxi |Sep_2015 |110 | 

Любая помощь будет принята с благодарностью !

ответ

5

Вы можете создать флаг, который устанавливается, когда найдено первое значение GE 100, и использовать его для определения того, какие наблюдения вывести.

data ford; 
    input (a b c)($) y; 
    cards; 
ford class_c Jan_2015 80 
ford class_c Feb_2015 90 
ford class_c Mar_2015 70 
ford class_c Apr_2015 120 
ford class_c May_2015 130 
ford class_c Jun_2015 50 
ford class_c Jul_2015 70 
ford class_c Aug_2015 140 
ford class_c Sep_2015 110 
ford Maxi Jan_2015 20 
ford Maxi Feb_2015 50 
ford Maxi Mar_2015 80 
ford Maxi Apr_2015 120 
ford Maxi May_2015 130 
ford Maxi Jun_2015 110 
ford Maxi Jul_2015 180 
ford Maxi Aug_2015 90 
ford Maxi Sep_2015 110 
;;;; 
    run; 
proc print; 
    run; 
data ford2; 
    set ford; 
    by a b notsorted; 
    if first.b then f=0; 
    if not f and y lt 100 then f+0; 
    else f=1; 
    if f; 
    run; 
proc print; 
    run; 

enter image description here

+0

Спасибо. Код работает хорошо – beibei

Смежные вопросы