DATA Step, Macro, Functions and more

20 records for each country code

Reply
Super Contributor
Posts: 673

20 records for each country code

There are 13 mil records in a dataset. and there is column country_cd. I need to pull 20 records for each country_cd i.e

country_cd list that i'm interested is 001, 840, 124, 875.For each of this country code I need get 20 records.

Any help is appreciated.

Respected Advisor
Posts: 3,156

Re: 20 records for each country code

Hi,

If I understand you correctly, the following code may get you to start:

data _w1/view=_w1;

  set have (where=(country_cd in ('001','840','124','875')));

run;

proc sort data=_w1;

by country_cd;

run;

data want;

  do _n_=1 by 1 until (last.country_cd);

  set _w1;

   by country_cd;

if _n_<=20 then output;

  end;

run;

Haikuo

Super Contributor
Posts: 673

Re: 20 records for each country code

I used somethng like this:

    proc sql;

        create table outdata.cntry_20 as

         select * from outdata._master_v1(obs=20) where ADR_CTRY_CD='000'

         union all

         select * from outdata._master_v1(obs=20) where ADR_CTRY_CD='840'      

         union all

         select * from outdata._master_v1(obs=20) where ADR_CTRY_CD='344'

         union all

         select * from outdata._master_v1(obs=20) where ADR_CTRY_CD='392'

         union all

         select * from outdata._master_v1(obs=20) where ADR_CTRY_CD='076';

      quit;

Ask a Question
Discussion stats
  • 2 replies
  • 210 views
  • 0 likes
  • 2 in conversation