DATA Step, Macro, Functions and more

creating one observation per detail record

Accepted Solution Solved
Reply
Contributor
Posts: 46
Accepted Solution

creating one observation per detail record

Hello all,

My question is that why when i execute the bellow code it gives me no output and the log says ' DATA STEP stopped due to looping'? I attached the raw data file bellow. Appreciate for any help.


data people (drop=type);
infile 'C:\Users\myuser\Desktop\census.txt';
retain address ;
if type='H' then input @3 address $15. ;
if type='P';
input @3 name $10.   @13 age $3.  @16gender $1. ;
proc print data=people;
run;


Accepted Solutions
Solution
‎04-07-2018 02:07 PM
PROC Star
Posts: 1,571

Re: creating one observation per detail record

are you after something like this?


data people(drop=type) ;
infile 'C:\Users\NSRINIV2\Desktop\census.txt' truncover;
retain address ;
input type $ @;
if type='H' then input @2 address $15. ;
else if type='P' then input @3 name $10.   @13 age $3.  @16gender $1. ;
run;

View solution in original post


All Replies
Solution
‎04-07-2018 02:07 PM
PROC Star
Posts: 1,571

Re: creating one observation per detail record

are you after something like this?


data people(drop=type) ;
infile 'C:\Users\NSRINIV2\Desktop\census.txt' truncover;
retain address ;
input type $ @;
if type='H' then input @2 address $15. ;
else if type='P' then input @3 name $10.   @13 age $3.  @16gender $1. ;
run;
Super User
Super User
Posts: 7,932

Re: creating one observation per detail record

[ Edited ]

Because you never executed the INPUT statement.

Your subsetting IF statement is testing the variable TYPE before it has be assigned any values. So TYPE='P' is always false and your data step never makes it past this line.

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 136 views
  • 3 likes
  • 3 in conversation