DATA Step, Macro, Functions and more

Segment dataset into separate dataset based on date extension

Reply
Frequent Contributor
Posts: 131

Segment dataset into separate dataset based on date extension

proc sql;

create table test as

select ln,monthyr

from test99;

quit;

sample output

ln      monthyr

11      201502

12      201503

13      201504

I performed a macro to segment each dataset into its own dataset

%macro (monthyr);

proc sql;

create table test11_&monthyr as

select *

from test;

quit;

%mend;

The objective is to create something like this

test11_201502

test11_201503  etc

The code runs however no segmenting occurs.  What is the issue with my code.  I am somewhat new to macro building.  Note MonthYr is a date data type


Super User
Posts: 5,085

Re: Segment dataset into separate dataset based on date extension

Macros are not the answer here.  You need to be able to write a successful program without using macros first.  Once you have that part working correctly, writing the macro will be easy.

Good luck.

Frequent Contributor
Posts: 130

Re: Segment dataset into separate dataset based on date extension

Are you looking to filter each of your data sets (test11_201502, test11_201503, etc..) only by the monthyr variable?  Otherwise I would agree, a macro is not what you're looking for.  You could loop through each individual monthyr variable one at a time to create the data set names you want, but with the code provided, you will just have the same data in each data set.

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