BookmarkSubscribeRSS Feed
Rahul_SAS
Quartz | Level 8

Hi Experts,

 

Is it possible to convert below mentioned sql code to data step. i can't use sql in my coding. Please help.

 

proc sql;
create table safety.test as
select distinct project, employee, supervisor, team, qcdate, hub, COMP, COMPERR,
sum(COMP,COMPERR) as sumcomp, (COMP/(COMP+COMPERR)) AS CasePercentage
from
(select distinct project, employee, supervisor, team, qcdate, hub, sum(input(Case_ID_for_QCCOMP,BESt12.)) as COMP, sum(input(Case_ID_for_QCCOMPERR,BEST12.)) as COMPERR
FROM safety.stag3
group by project, employee, supervisor, team, qcdate, hub
)
quit;

 

Thanks

1 REPLY 1
ballardw
Super User

I would use a combination of data step and summary procedure such as:

data start;
   set safety.stag3;
   comp = input(Case_ID_for_QCCOMP,BESt12.);
   comperr = input(Case_ID_for_QCCOMPERR,BESt12.);
run;

proc summary data=start nway;
   class project employee supervisor team qcdate hub;
   var comp comperr;
   output out=startsum sum=;
run;

data want;
   set startsum;
   sumcomp = sum(comp,comperr);
   casepercentage = comp/sumcomp;
run;

I will say I find wanting to add with variables with something like Case_ID in the name looks a tad odd though.

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
  • 1 reply
  • 1377 views
  • 0 likes
  • 2 in conversation