Suppose there is a SAS dataset with following values -
Parent Child
A B
B C
D E
F G
G H
H I
and so on…..
This goes onto 1000s of observations/rows.
Now how do we identify from this dataset Grandparents and
Grandchildrens ?
Answers were Sorted based on User's Feedback
Answer / sumit
Suppose the above dataset name is work.old.
Data new;
Set work.old (first obs = 2);
Run;
Proc sql;
Select Old.parent as grandfather, Old. Child as father,
new.child as grandchild from work.Old as old, work.new as
new
where old.child = new.parent;
quit;
| Is This Answer Correct ? | 17 Yes | 0 No |
data dx;
infile datalines dsd dlm=',';
input parent :$8. child :$8.;
datalines;
A,B
B,C
D,E
F,G
G,H
H,I
;;;;
run;
data dy(rename=(parent=grandfather child=father)) ;
merge dx(firstobs=2 in =a rename=(child=grandchild
parent=child ))
dx(firstobs=1 in =b );
by child;
if a and b;
run;
proc print;
var grandfather father grandchild;
run;
| Is This Answer Correct ? | 15 Yes | 4 No |
Answer / altumish
A simple self Join:
data old;
input Parent $ Child $;
cards;
A B
B C
D E
F G
G H
H I
I J
J K
J L
P S
;
Proc sql;
Select Old.parent as grandfather, Old.Child as father,
new.child as grandchild from work.Old as old, work.Old as new
where old.child = new.parent;
quit;
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / jayant
data tet;
input par $ child $;
datalines;
A B
B C
C D
E F
;
run;
data tet1;
set tet;
grand=lag(par);
drop par;
run;
| Is This Answer Correct ? | 0 Yes | 1 No |
Answer / sas@freek
data family;
input parent $ child $;
datalines;
A B
B C
C D
D E
E F
F G
G H
H I
;
run;
data family_new(drop=parent child);
set family;
parent1=lag(parent);
child1=lag(child);
grand_child=child;
if _n_ ge 2;
run;
proc print data=family_new;
var parent1 grand_child;
run;
| Is This Answer Correct ? | 0 Yes | 2 No |
Under what circumstances would you code a SELECT construct instead of IF statements?
What are the ways to do a “table lookup” in sas?
What are the different versions of sas that you have used until now? : sas-grid-administration
Why Info School? BUILD YOUR CAREER WITH RIGHT GUIDANCE AND SUPPORT
hi i date is 05sep2005; i want the oupput like 05sep2005:00:00:00 ; how it wil come?
What report output formats can you generate using SAS?
Do you think professionally?
How would you combine 3 or more tables with different structures?
What is the good sas programming practices for processing large data sets?
What is the sas data set? : sas-grid-administration
what is the difference between informat$8. $char8.
Which of the following is not created during compilation phase?