BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
sskt
Obsidian | Level 7

お世話になっております。

importプロシジャでxlsxファイルを読みこみたいと考えており、2点ほど質問があります。

SAS、Windows、Excelは64bitで、PCfilesを搭載しております。

以下ページを参考にしております。

https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/acpcref/p0jf3o1i67m044n1j0kz51ifhpvs.htm

 

1.  参考ページによると、dbmsの指定で

EXCELCS: Microsoft Excel workbook connecting remotely through the SAS PC Files Server.

XLSX: Microsoft Excel 2007 and later workbook using file formats

とありますが、この2つはどう違うのでしょうか?

後者だと、PCfilesを搭載していなくても読み込めるということでしょうか?

また、

EXCEL: Microsoft Excel 97, 2000, 2002, 2003, 2007, 2010, and later workbooks.

と書いてあり、拡張子でもxlsxが挙げられていますが、dbms=excelでもxlsxファイルの読み込みは動作するのでしょうか?

 

2. 読み込むときの文字の長さを指定したいと考えており、直接指定するか、scantext=noでLength=500に統一したいと考えています。
ですが、dbms=xlsxでscantext=noが使えません。(excelcsでもだめだった気がします。)

これは仕様でしょうか?回避する方法はありますでしょうか?

 

よろしくお願いいたします。

1 ACCEPTED SOLUTION

Accepted Solutions
yu_sas
SAS Employee

EXCELCSはSAS PC Files Serverに加え、MS OfficeかMSのランタイムのインストールが必要になります。一般的にはSAS が64bitでMS Officeが32bitの時に利用します。EXCELはSASとMS Officeのbit数が同じである必要があります。

XLSXは他のコンポーネントを使用しませんのでMS Officeのbit数や有無に関係なく使用できます。

 

XLSXではSCANTEXT=オプションはサポートされていません。読み込んだ後適宜LENGTHステートメントなどで変数長を変更するのがよいかと思います。オプション等についてはドキュメントをご確認ください。

 

Microsoft Workbook Files

View solution in original post

1 REPLY 1
yu_sas
SAS Employee

EXCELCSはSAS PC Files Serverに加え、MS OfficeかMSのランタイムのインストールが必要になります。一般的にはSAS が64bitでMS Officeが32bitの時に利用します。EXCELはSASとMS Officeのbit数が同じである必要があります。

XLSXは他のコンポーネントを使用しませんのでMS Officeのbit数や有無に関係なく使用できます。

 

XLSXではSCANTEXT=オプションはサポートされていません。読み込んだ後適宜LENGTHステートメントなどで変数長を変更するのがよいかと思います。オプション等についてはドキュメントをご確認ください。

 

Microsoft Workbook Files

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
Discussion stats
  • 1 reply
  • 1598 views
  • 1 like
  • 2 in conversation