PROC IMPORT DATAFILE="/path/test.xls"
OUT = FIRSTSTREAM
DBMS=XLS REPLACE;
SHEET="Sheet1";
GETNAMES=YES;
DATAROW=3;
RUN;
DATA HAVE;
SET FIRSTSTREAM;
X = _N_;
RUN;
PROC SQL;
SELECT X+2 INTO: FIRSTLINE FROM HAVE WHERE TABLE1 = "";
SELECT MAX(X) INTO: LASTLINE FROM HAVE;
QUIT;
PROC IMPORT DATAFILE="/path/test.xls"
OUT = UPSTREAM
DBMS=XLS REPLACE;
SHEET="Sheet1";
GETNAMES=YES;
DATAROW=2;
RANGE="Sheet1$A1:E&FIRSTLINE.";
RUN;
PROC IMPORT DATAFILE="/path/test.xls"
OUT = DOWNSTREAM
DBMS=XLS REPLACE;
SHEET="Sheet1";
GETNAMES=YES;
DATAROW=2;
RANGE="Sheet1$A&FIRSTLINE.:E&LASTLINE.";
RUN;
This code do exactly what you need, and you don't need to specify which one is the line to breakup the tables. You only have to change the where clause in proc sql.
Hope this helps
... View more