Solved
Contributor
Posts: 38

# Duplicate row according to a variable

I have a large data set like this :

NAME   MONEY   NB  NUMBER
John        300       1         4
Max         250       2         5
Alex         657       1         3
Matt        1520      2         2

For NB = 2, I want to divide NB by 2 , divide MONEY by NUMBER and also keeping observations for NB = 1. I mean how get this  :

NAME   MONEY   NB
John        300       1
Max         50         1

Max         50         1
Alex         657       1
Matt        760       1

Matt        760       1

Accepted Solutions
Solution
‎04-25-2017 09:34 AM
Super User
Posts: 10,238

## Re: Duplicate row according to a variable

[ Edited ]
``````data want;
set have;
if nb = 2
then do;
money = money / number;
nb = nb / 2;
output;
end;
output;
drop number;
run;``````
---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code

All Replies
Solution
‎04-25-2017 09:34 AM
Super User
Posts: 10,238

## Re: Duplicate row according to a variable

[ Edited ]
``````data want;
set have;
if nb = 2
then do;
money = money / number;
nb = nb / 2;
output;
end;
output;
drop number;
run;``````
---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
PROC Star
Posts: 1,283

## Re: Duplicate row according to a variable

What if NB = 3 or higher, is that possible?

Contributor
Posts: 38

## Re: Duplicate row according to a variable

In my data set, NB is only equals to 1 or 2

Super User
Posts: 10,238

## Re: Duplicate row according to a variable

You can replace the

``nb = nb / 2;``

in my code with

``nb = 1;``

as there can never be a different outcome.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
☑ This topic is solved.