Hi Art, The have dataset I have posted is the first few lines of the dataset, and yes, it works fine with it, however it keeps making the warning message if I run it with the entire dataset. The following link shows you the dataset. And here is the code that I have used for this dataset: PROC IMPORT OUT= WORK.have DATAFILE= "C:\Users\.......\1916_b_Macro.xls" DBMS=EXCEL REPLACE; SHEET="Sheet1$"; GETNAMES=NO; MIXED=YES; SCANTEXT=YES; USEDATE=YES; SCANTIME=YES; RUN; data have1; set have; array vars(100) $200.; array vars_in(100) $200. f1-f100; retain vars; if compress(f1,,'kfd') eq "CompanyName" then do; call missing(of vars(*)); do i=1 to 100; if compress(vars_in(i),,'kfd') ne "" then vars(i)=vars_in(i); end; end; else if compress(f1,,'kf') ne "" then do; CompanyName=vars_in(1); Date=vars_in(2); TableName=vars_in(3); Year=vars_in(4); do i=5 to 100; if compress(vars_in(i),,'kd') ne "" then do; var=vars(i); data=vars_in(i); output; end; end; end; run; proc sort data=have1; by CompanyName TableName Date Year; run; proc transpose data=have1 out=want (drop=_NAME_); by CompanyName TableName Date Year; var data; id var; run; Thanks, Minsoo
... View more