BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
bsam17
Calcite | Level 5

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.

1 ACCEPTED SOLUTION

Accepted Solutions
Astounding
PROC Star

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

2 REPLIES 2
Astounding
PROC Star

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). 

bsam17
Calcite | Level 5

Thanks!

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

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