Hi,
The outcome of my query should be the following :
gender | score | outcome |
1 | 48 | 1 |
1 | 48 | 1 |
1 | 45 | 2 |
1 | 56 | 3 |
2 | 50 | 1 |
2 | 50 | 1 |
2 | 41 | 2 |
2 | 51 | 3 |
This is my script :
data students;
input gender score ;
cards;
1 48
1 48
1 45
1 56
2 50
2 50
2 41
2 51
;
run;
I've tried this :
proc sort data = students;
by gender score;
run;
data students2;
set students;
by gender score;
if (first.gender and first.score) then outcome + 1;
run;
But this is not the solution.
Can anybody help out ?
Thanks
B
Liek this?
data students2;
set students;
by gender score;
if first.gender then outcome = 0;
if first.score then outcome + 1;
run;
gender | score | outcome |
---|---|---|
1 | 45 | 1 |
1 | 48 | 2 |
1 | 48 | 2 |
1 | 56 | 3 |
2 | 41 | 1 |
2 | 50 | 2 |
2 | 50 | 2 |
2 | 51 | 3 |
Liek this?
data students2;
set students;
by gender score;
if first.gender then outcome = 0;
if first.score then outcome + 1;
run;
gender | score | outcome |
---|---|---|
1 | 45 | 1 |
1 | 48 | 2 |
1 | 48 | 2 |
1 | 56 | 3 |
2 | 41 | 1 |
2 | 50 | 2 |
2 | 50 | 2 |
2 | 51 | 3 |
Thanks very much Chris !
Store your FIRST variables to help build your conditions.
I've included the correct answer, but commented it out.
data students;
input gender score ;
cards;
1 48
1 48
1 45
1 56
2 50
2 50
2 41
2 51
;
run;
I've tried this :
proc sort data = students;
by gender score;
run;
data students2;
set students;
by gender score;
first_gender = first.gender;
first_score = first.score;
/*
if first.gender then outcome=1;
else if first.score then outcome+1;
*/
run;
@Billybob73 wrote:
Hi,
The outcome of my query should be the following :
gender score outcome 1 48 1 1 48 1 1 45 2 1 56 3 2 50 1 2 50 1 2 41 2 2 51 3
This is my script :
data students;
input gender score ;
cards;
1 48
1 48
1 45
1 56
2 50
2 50
2 41
2 51
;
run;
I've tried this :
proc sort data = students;
by gender score;
run;
data students2;
set students;
by gender score;
if (first.gender and first.score) then outcome + 1;
run;
But this is not the solution.
Can anybody help out ?
Thanks
B
Thanks Reeza!
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.