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

I have 2 datasets with structure <Id Year month result>. Say data is

SET1:

0  2001   01  12

1  2001   02  10

2  2001   03  13

AND set2

0  2001   01  14

1  2001   02  15

2  2001   03  16

i want only the "result" of set 2 to be substracted from the corresponding rows of set1 (where id year and month match)..result set would be

0  2001   01  -2

1  2001   02  -5

2  2001   03  -3

I use proccompare, but it diffs both the datasets across all the corresponding elements.  How can I diff only the corresponding "results" and preserve "id year month"..thank you

1 ACCEPTED SOLUTION

Accepted Solutions
Linlin
Lapis Lazuli | Level 10

try:

data want;

merge set1(in=a rename =(result=r1)) set2(in=b rename=(result=r2));

by id year month;

if a and b;

r_diff=r1-r2;

run;

View solution in original post

2 REPLIES 2
Linlin
Lapis Lazuli | Level 10

try:

data want;

merge set1(in=a rename =(result=r1)) set2(in=b rename=(result=r2));

by id year month;

if a and b;

r_diff=r1-r2;

run;

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

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
  • 724 views
  • 1 like
  • 2 in conversation