DATA ABC;
INPUT TDATE DATE9. AVG;
CARDS;
18APR2008 150.00
19APR2008 167.00
20APR2008 123.00
21APR2008 145.00
;
RUN
HOW CAN I FIND THE DIFFERENCE BETWEEN AVG OF 18APR2008 ANF
21APR2008??
IF ANY ONE GETS IT PLS TRY TO POST IT.
Answers were Sorted based on User's Feedback
Answer / rajaanku11
The Above can be done in a single data step as
follows.Actually this is suggestable.
data _null_;
set abc;
retain z;
if tdate='18APR2008'D then
z=avg;
if tdate='21APR2008'D then
do;
diff=Z-avg;
put 'the difference=' diff;
stop;
end;
run;
| Is This Answer Correct ? | 5 Yes | 1 No |
Answer / nagesh sriram
Hi,
I am think that the difference between the first and last
records value?
data _null_;
set abc end=last;
retain first;
if _n_=1 then first=avg;
if last=1 then do;
diff=first - avg;
put 'The difference is =' diff;
stop;
end;
run;
here _n_=1 is hold the first record in the abc dataset.
Last=1 means is hold the last record in the dataset.
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / kumaraswamy maduri
If you want only for the above specified dates then answer
3 works and if it is for first and last observations in the
dataset then answer 4 works.
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / rajaanku11
Hi, pls modify slight changes to the above prog.
data _null_ ;
set abc;
if tdate='18APR2008'D then
call symput('x',avg);
if tdate='21APR2008'D then
call symput('y',avg);
run;
%put _user_;
data _null_;
z=&x-&y;
put 'the difference=' z;
run;
| Is This Answer Correct ? | 2 Yes | 3 No |
Answer / abhilash
Use symgetfunction to resolve a macro variable with in same
data step while creating macro variable using call symput.
DATA test;
SET ABC;
IF TDATE='18APR2008'D THEN
CALL SYMPUT('A2',AVG);
ELSE IF TDATE='21APR2008'D THEN
CALL SYMPUT('B2',AVG);
diff = symget('a2') - symget('b2');
RUN;
| Is This Answer Correct ? | 1 Yes | 2 No |
DATA ABC;
INPUT TDATE DATE9. AVG;
CARDS;
18APR2008 150.00
19APR2008 167.00
20APR2008 123.00
21APR2008 145.00
;
RUN;
data _null_;
set abc;
if tdate='18APR2008'D then
call symput('x',avg);
if tdate='21APR2008'D then
call symput('y',avg);
z=&x-&y;
run;
data _null_;
z=&x-&y;
put 'the difference='z;
run;
| Is This Answer Correct ? | 2 Yes | 4 No |
how we can create a FLAG datasets? Ex:-ID age_group no_persons 1 to 10 10 to 20 3 11 to 20 21 to 30 7 21 to 3o 31 to 40 5
What is the purpose of _character_ and _numeric_?
What are the criticality that you have faced during your project in SAS?
At compile time when a SAS data set is read, what items are created?
how can you code the confidence intervals?
6 Answers Cytel, IIT, Ranbaxy,
what is data access? : Sas-di
name few built in sas transformation in DI studio ?
Name statements that function at both compile and execution time.
what is function of retain statment
describe how to adjust the performance of data integrator? : Sas-di
What is the pound sign used for the DATA _NULL_?
what is SAS/Access and SAS/Connect?what are the uses?