Kurt, @Kurt_Bremser Thanks for the reply. I used your code, which worked very well on my small dataset. However, when I run the code on a text (.log) file that contains 10,500+ rows of data, I get an empty data set. Here is the code: data fixerdata;
infile '\\My Documents\prod.log' dlm=';' truncover;
length
item $100
name $5
value $95
var8001 $20
var17 $30
var11106 $2
var54 $4
var9713 $6
var60 8
var32 $4
var120 $4
var31 6.11
var15 $4
var8147 $100
var8100 $15
var55 $5
var65 $10
;
format
var60 e8601dt25
;
input item @;
do while (item ne " ");
name = scan(item,1,"=");
value = scan(item,2,"=");
select (name);
when ("8001") var8001 = value;
when ("17") var17 = value;
when ("11106") var11106 = value;
when ("54") var54 = value;
when ("9713") var9713 = value;
when ("60") var60 = dhms(input(scan(value,1,"-"),yymmdd8.),0,0,input(scan(value,2,"-"),time12.));
when ("32") var32 = value;
when ("120") var120 = value;
when ("31") var31 = value;
when ("15") var15 = value;
when ("8147") var8147 = value;
when ("8100") var8100 = value;
when ("55") var55 = value;
when ("65") var65 = value;
otherwise;
end;
input item @;
end;
drop item name value;
run; After I run the above code, I get this output in SAS Enterprise Guide 7.1: NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR
NOTE: Character values have been converted to numeric values at the places given by: (Line):(Column).
63:22
NOTE: Variable e8601dt25 is uninitialized.
NOTE: The infile '\PROD.log' is:
Filename=\\PROD.log,
RECFM=V,LRECL=32767,File Size (bytes)=10750433,
Last Modified=25Oct2021:11:11:42,
Create Time=27Oct2021:14:23:26
NOTE: 10567 records were read from the infile '\\My Documents\PROD.log'.
The minimum record length was 90.
The maximum record length was 2055.
NOTE: The data set WORK.FIXERDATA has 10567 observations and 14 variables.
NOTE: DATA statement used (Total process time):
real time 0.05 seconds
cpu time 0.04 seconds Please advise!
... View more