DATA Step, Macro, Functions and more

How do I create a calculated column in an existing dataset

Accepted Solution Solved
Reply
New Contributor
Posts: 2
Accepted Solution

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;

View solution in original post


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