ビジネス・インテリジェンス[BI] のリーディング・カンパニー | SAS Japan SAS Japan
「THE POWER TO KNOW(知る力)」を提供するビジネス・インテリジェンス[BI]のリーディング・カンパニー | SAS Japan  トレーニング マニュアル ユーザー事例 パートナー ユーザー会 求人情報 資料請求・ダウンロード
Home News Products & Solutions Events & Seminer Customer Support Company www.sas.com
 

Excelファイルへのシートの追加と、シートへのデータの追加

[OS] ALL
[リリース] SAS System 9以降
[キーワード] ACCESS PC Files, LIBNAME, EXCEL engine, add sheet, append

[質問]

SASデータセットの内容を、既存のExcelファイルに新しいシートとして出力できますか。
また、既存のシートにデータを追加できますか。

[回答]

SAS 9.1のSAS/ACCESS Interface to PC Filesは、Excelエンジンをサポートしています。
このエンジンを使用して、既存のExcelファイルにシートを追加できます。

出力方法は、Excelファイルを新規に出力する場合と同様です。次のサンプルプログラムでは、既存のExcelファイル「c:¥DATA¥book1.xls」ファイルに対して、「excalss2」というシートを追加出力しています。


                              /* ライブラリ参照名の割り当て */
   LIBNAME ex EXCEL 'c:¥DATA¥book1.xls';

                              /* データの出力 */
   DATA ex.exclass2 ;
      SET sashelp.class;
   RUN;
                              /* ライブラリ参照名のクリア */
   LIBNAME ex CLEAR;

また、APPENDプロシジャを使用して、既存のExcelシートにデータを追加することも可能です。既存のExcelシートにデータを追加する際には、LIBNAMEステートメントで「SCANTEXT=NO」を指定する必要があります。

次のサンプルプログラムでは、「c:¥data¥book1.xls」ファイルに含まれるシート「exclass2」にデータを追加しています。


                              /* ライブラリの割り当て */
   LIBNAME ex EXCEL 'c:¥data¥book1.xls' SCANTEXT=NO;

                              /* APPENDプロシジャ */
   PROC APPEND BASE=ex.exclass2 DATA=llibref.data FORCE;
   RUN;

                              /* ライブラリ参照名のクリア */
   LIBNAME ex CLEAR;

上記のサンプルプログラムを実行すると、「変数の長さが一致しない」という下記のWARNINGメッセージがログに出力されますが、データは追加されます。


   WARNING: 変数 Name は BASE と DATA ファイル上で長さが一致しません。 (BASE 255 DATA 8).

Windows版SAS 8.2をご利用の場合は、弊社ホームページの下記FAQをご参照ください。

「Microsoft Excelへのデータの複数シート出力について」
http://www.sas.com/japan/service/technical/faq/list/body/pc054.html

The Power to Know
   Contact Us     Terms of Use & Legal Information     Privacy Statement     個人情報の取り扱いについて   Copyright © 2008 SAS Institute Inc. All Rights Reserved