DATA Step, Macro, Functions and more

Expand a dataset by a specific amount

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 8
Accepted Solution

Expand a dataset by a specific amount

Hi,

This may be a bit of a complex task but I was wondering if there's a solution for the following:

I have a dataset that has a "quantity" variable. I would like to expand each observation in this dataset by its quantity. For example, if row 1 has a quantity = 10, I would like to duplicate this row 10 times, and so forth. Can anyone suggest an efficient method for doing so?

Thanks in advance.


Accepted Solutions
Solution
‎05-21-2015 08:29 AM
Super User
Posts: 5,071

Re: Expand a dataset by a specific amount

This should do it:

data want;

   set have;

   do _i_=1 to quantity;

      output;

   end;

   drop _i_;

run;

You might also want to consider what should happen for unusual values for QUANTITY (negative numbers, fractional values, missing values). 

View solution in original post


All Replies
Solution
‎05-21-2015 08:29 AM
Super User
Posts: 5,071

Re: Expand a dataset by a specific amount

This should do it:

data want;

   set have;

   do _i_=1 to quantity;

      output;

   end;

   drop _i_;

run;

You might also want to consider what should happen for unusual values for QUANTITY (negative numbers, fractional values, missing values). 

Occasional Contributor
Posts: 8

Re: Expand a dataset by a specific amount

Thanks!

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 228 views
  • 0 likes
  • 2 in conversation