DATA Step, Macro, Functions and more

How to Import xlsx file into SAS.

Reply
New User
Posts: 1

How to Import xlsx file into SAS.

[ Edited ]

I wrote this code but its not running its showing some errors which is mentioned below the written code.

 

Proc Import datafile="F:\Kaggle\Titanic.xlsx" out=Titatnic_Worksheet DBMS= excel Replace Getnames=Yes; 
Run;

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ERROR 22-322: Syntax error, expecting one of the following: ;, DATAFILE, DATATABLE, DBMS, FILE, OUT, REPLACE, TABLE. ERROR 76-322: Syntax error, statement will be ignored. 242 Run;

PROC Star
Posts: 7,485

Re: How to Import xlsx file into SAS.

Posted in reply to Harpal_09

You're missing a semi-colon after the option REPLACE. Also, DBMS=excel may or may not work for you. You may want to use DBMS=XLSX

 

Art, CEO, AnalystFinder.com

Valued Guide
Posts: 505

Re: How to Import xlsx file into SAS.

I find it useful to run this first

libname des "F:\Kaggle\Titanic.xlsx";
proc contents data=des._all_;
run;quit;
libname des clear;
Super User
Posts: 11,343

Re: How to Import xlsx file into SAS.

Posted in reply to Harpal_09

When posting an error message to the forum there are two things you can do that will help provide answers. First is to include the code that generated the error along with the actual error. Best is the entire procedure or data step. Second is to paste it into a code box opened with the forum {i} menu item.

Error messages often include an _ indicating the position of the reported error. When you paste the  log into the main message window then the forum reformats the message losing some of the diagnostic informations.

 

Compare:

126 data exp;

127 a='i will try to removie spl char @ and another spl $'

128 a1=translate (a,'','@$' );

--

22

ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, *, **, +, -, /, ;, <, <=,

<>, =, >, ><, >=, AND, EQ, GE, GT, IN, LE, LT, MAX, MIN, NE, NG, NL, NOTIN, OR, ^=,

|, ||, ~=.

129 run;

with

126  data exp;
127     a='i will try to removie spl char @ and another spl $'
128     a1=translate (a,'','@$' );
        --
        22
ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, *, **, +, -, /, ;, <, <=,
              <>, =, >, ><, >=, AND, EQ, GE, GT, IN, LE, LT, MAX, MIN, NE, NG, NL, NOTIN, OR, ^=,
              |, ||, ~=.

129  run;

In the code box you can see that the undescores appear under the a1 which is not obvious from the previos. In this case I would look at ther previous line and note a missing semicolon.

 

Ask a Question
Discussion stats
  • 3 replies
  • 218 views
  • 0 likes
  • 4 in conversation