hi,
I have a question which shouldn't be too complicated but which gives me trouble.
I have the following data:
data a;
input company $ price;
datalines;
A 1
A 2
A 4
A 5
B 2
B 4
B 7
B 9
;
run;
What I want to do is to create i = _n_ by company.
company | pric | i |
A | 1 | 1 |
A | 2 | 2 |
A | 4 | 3 |
A | 5 | 4 |
B | 2 | 1 |
B | 4 | 2 |
B | 7 | 3 |
B | 9 | 4 |
and I used the code:
data a;
set a;
i = _n_;
by company;
run;
but it gave me i = 1 to 9 and didn't notice the different companies.
Thank you!
data a; set a; by company; if first.company then i=1; else i+1; run;
Art, CEO, AnalystFinder.com
data a; set a; by company; if first.company then i=1; else i+1; run;
Art, CEO, AnalystFinder.com
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.