calculate the sum of value using only DATA STEP.
data count_;
input year name $ value;
cards;
2006 xxx 10
2007 yyy 12
2006 xxx 20
2008 yyy 15
2007 xxx 15
;

out put should be like this
year name T_value
-----------------------
2006 xxx 30
2007 xxx 15
2007 yyy 12
2008 xxx 15

Answers were Sorted based on User's Feedback



calculate the sum of value using only DATA STEP. data count_; input year name $ value; cards; 20..

Answer / rpd

I can give logic part, rest kindly manage :)

step 1:proc sort the dataset by "PID YEAR"
step2 :in the datastep "SET" it using by PID YEAR
create a temp variable say _SUM and RETAIN _SUM,
reset _SUM=0 on FIRST.YEAR.
T_VALUE=_SUM+VALUE

I guess this will work

Is This Answer Correct ?    2 Yes 0 No

calculate the sum of value using only DATA STEP. data count_; input year name $ value; cards; 20..

Answer / ravi s

it need two steps

step 1 : proc sort; by year name;run;

Step 2: data total (drop = value);
set count_;
by year name;
if first.name then T_value =0 ;
T_value + value;
if last.name then output ;
run;

Note: Hence i am doing work in data step. i need to sort
the data first by using "Proc Sort".

Kindly let me know is the any other method to do?

Is This Answer Correct ?    2 Yes 0 No

calculate the sum of value using only DATA STEP. data count_; input year name $ value; cards; 20..

Answer / xxx

here i can write the code using PROC SQL;
plz ans in DATA STEP;

proc sql;
select year,name, sum(value)as T_value from count_ group by
year, name having sum(value) order by name;
quit;

Is This Answer Correct ?    1 Yes 0 No

calculate the sum of value using only DATA STEP. data count_; input year name $ value; cards; 20..

Answer / nani

proc sort data=a;
by year ;
run;

data total ;
set a;
retain T_value;
by year ;
if first.year then T_value =0 ;
T_value + value;
if last.year then output ;
run;

proc print ;
run;

Is This Answer Correct ?    1 Yes 0 No

calculate the sum of value using only DATA STEP. data count_; input year name $ value; cards; 20..

Answer / aaa

PROC SORT DATA=COUNT_;
BY YEAR NAME;
RUN;

DATA TEST (DROP=VALUE);
SET COUNT_;
BY YEAR NAME;
RETAIN COUNT;
IF FIRST.NAME THEN COUNT = 0;
COUNT = COUNT + VALUE;
IF LAST.NAME THEN OUTPUT;
RUN;

Is This Answer Correct ?    0 Yes 0 No

calculate the sum of value using only DATA STEP. data count_; input year name $ value; cards; 20..

Answer / ashish

data new;

set tech ;
by year name;
if first.year or first.name then do;
sum=0;
end;
sum+value;
if last.year or last.name ;

run;

Is This Answer Correct ?    0 Yes 0 No

Post New Answer

More SAS Interview Questions

How to read an input file in sas?

0 Answers  


What is program data vector (pdv)?

0 Answers  


What are the special input delimiters used in SAS?

0 Answers  


"What is the difference between proc sort nodup and proc sort nodupkey?"

2 Answers  


What is the difference between an informat and a format. Name three informats or formats.

6 Answers  






what are the considerations when picking a SAS/STAT procedure?

0 Answers   Accenture, Quintiles,


what is slowly changing dimension? : Sas-di

0 Answers  


What is the differnce between SDTM 3.1.2 to 3.1.1 version

0 Answers   Wipro,


how to handle in stream data containing semicolon in it?

3 Answers  


How long can a macro variable be? A token? : sas-macro

0 Answers  


What are the limitations for memory allocation for SAS variables

0 Answers   Signetsoft,


Why double trailing @@ is used in input statement?

0 Answers  


Categories