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

Hi everyone,

 

I have the following data:

Company ID | Year | Quarter | EPS | EPSRank

 

I would like to create a new variable which is the difference between the max(EPSRank) and min(EPSRank) for each year. Can anyone help with this? Thanks in advance.

 

Henry

1 ACCEPTED SOLUTION

Accepted Solutions
Vish33
Lapis Lazuli | Level 10

Hi Henry,

 

Hope you are looking for difference bewteen max and min of EPSRank across all companies by year. If that case try the below one.

 

data sample;

input Company_ID Year Quarter $2. EPS EPSRank;

cards;

101 2010 Q1 10000 100

101 2010 Q2 20000 90

101 2010 Q4 30000 50

102 2016 Q1 60000 20

102 2016 Q3 40000 30

102 2016 Q4 80000 10

;

run;

proc sort data= sample;

by Year ;

run;

proc sql;

create table required as

select * ,(max(EPSRank)-min(EPSRank)) as diffRank

from sample

group by year;

quit;

 

View solution in original post

4 REPLIES 4
Reeza
Super User

This is known as the range. 

 

You can use PROC means/univariate or Summary. 

 

Here is an example with proc means -  a dataset is created with the values in addition to the output displayed.  

 

Proc means data=have  nway;

by year;

output out=yearly_eps_range range(epsRank) = r_epsRank min= min_epsRank max= max_epsRank;

run;

Vish33
Lapis Lazuli | Level 10

Hi Henry,

 

Hope you are looking for difference bewteen max and min of EPSRank across all companies by year. If that case try the below one.

 

data sample;

input Company_ID Year Quarter $2. EPS EPSRank;

cards;

101 2010 Q1 10000 100

101 2010 Q2 20000 90

101 2010 Q4 30000 50

102 2016 Q1 60000 20

102 2016 Q3 40000 30

102 2016 Q4 80000 10

;

run;

proc sort data= sample;

by Year ;

run;

proc sql;

create table required as

select * ,(max(EPSRank)-min(EPSRank)) as diffRank

from sample

group by year;

quit;

 

Vish33
Lapis Lazuli | Level 10

Here Proc sort is not required...!! forgot 🙂

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
  • 4 replies
  • 4448 views
  • 5 likes
  • 4 in conversation