Solved
New Contributor
Posts: 2

# How do I create a calculated column in an existing dataset

Week Sales Cum_Sales
1        160       0
2        390      160
3        800      550
4        995     1350
5       1250    2345
6       1630    3595
7       1750
8       2000
9       2250
10     2500

The columns week and sales are provided in the dataset. I am creating a new column called cumulative_sales where the first entry is always zero and the consecutive entries are the sum of sales one week before that

data B2;
set B2;
by week;
if first.week then cumulative_sales=0;
cumulative_sales = cumulative_sales + sales;
if last.week then output;
run;

Please mention the corrections in the code

Accepted Solutions
Solution
‎03-30-2018 02:56 PM
Super User
Posts: 6,934

## Re: How do I create a calculated column in an existing dataset

Posted in reply to adityal2810

Here, you're increasing the cumulative sales and then outputting.  You need to output first:

data want;

set have;

output;

cumulative_sales + sales;

run;

All Replies
Solution
‎03-30-2018 02:56 PM
Super User
Posts: 6,934

## Re: How do I create a calculated column in an existing dataset

Posted in reply to adityal2810

Here, you're increasing the cumulative sales and then outputting.  You need to output first:

data want;

set have;

output;

cumulative_sales + sales;

run;

Valued Guide
Posts: 629

## Re: How do I create a calculated column in an existing dataset

Posted in reply to adityal2810

And using "by week" is only necessary, if you have multiple observations for one week.

Contributor
Posts: 40

## Re: How do I create a calculated column in an existing dataset

Posted in reply to adityal2810

Hi,

options missing=0;
data want;
set have;
x=lag(sales);
cum_sales+x;
drop x;
run;

☑ This topic is solved.

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

Discussion stats
• 3 replies
• 406 views
• 1 like
• 4 in conversation