BookmarkSubscribeRSS Feed
therock
Calcite | Level 5

Hi Everyone,

I am a new student, new to SAS, new here and this is my first of my (many) posts. I have very big file of company information. This is what I have: 

2 REPLIES 2
therock
Calcite | Level 5

Hi Everyone,

I accidently posted before putting down my information. Please check the other one or here it is:

Hi Everyone,

I am a new student, new to SAS, and new to SAS community. I am hoping that you guys will be able to help me with my data problem. I have companies information that I need help with. Here is a sample of the data:

CoIDYearProfitR&DEx
1231998-10015

123

1999-10010
123200015015
123200120020
45619995010
456200010.
4562001-2515
7891999150.
7892000-100.
789200150.
7892002100.

In this table, the first variable "CoID" is company id which is a character in SAS and I want to keep it that way. The second column is the year, which is in number format. The third column is the profit (which can be negative) and the fourth column is Research and Development Expense.

What I want to do with the data is following things:

1) Create a variable called "R&DExAvg" which is the average of the R&D Expense for each company. 

2) Create a variable called "R&DMwAvg" which will be filled the missing value of R&D Expense with the average of that variable with respect to that company. If every R&D Expense value is missing, then keep that variable missing as well. If R&D Expense value is filled, then keep that variable same as R&DEx.

3) Create a variable called "Lossin2K" which will be filled with 1 for every value of that company if the profit was below zero during the year 2000 otherwise it will be 0.  

4) Create a variable called "Lossporin2K2" which will be filled with 1 for every value of that company if the profit was below zero two years in a row or more during the year 2000 or before otherwise it will be 0.  

This is what I need to have after the above mentioned programming done:

CoIDYearProfitR&DExR&DExAvgR&DMwAvgLossin2KLossporin2K2
1231998-10015151501

123

1999-10010151001
123200015015151501
123200120020152001
4561999501012.51000
456200010.12.512.500
4562001-251512.51500
7891999150...10
7892000-100...10
789200150...10
7892002100...10

I know it is lot to ask but please help me out. I would appreciate if you can help me out with separate data statement for each variable and keeping it simple (please no macro!).

Once again thanks,

The Rock

Patrick
Opal | Level 21

It's may be not your intention but what your doing here is asking us to do the job for you.

I suggest you give it a go first and then come back with some targeted questions in the bits where you've got stuck. Please also post a data step creating sample data, the code you've already developed and then tell us what's not working and what you need.

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

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