英語版SASで作成したSASデータセットを編集モードで開けない
[OS] ALL
[リリース] SAS 9.1以降
[キーワード] Base, ENCODING, INENCODING, OUTENCODING
[質問]
英語版SASで作成したSASデータセットをデータセットビューを使って開き、編集モードに切り替えようとすると、下記のメッセージが出て、SASデータセットを編集することができません。 WARNING: xxxxxxは編集モードで開けません。代わりに表示モードが使用されます。
[回答]SAS 9.1から、SASデータセットの情報として、「エンコード」に関する情報が保持されるようになりました。CONTENTSプロシジャを使って、SASデータセットの情報を取得すると、下記の項目が出力されています。 エンコード shift-jis Japanese (SJIS) 現在起動しているSASのエンコード情報と、SASデータセットが保持しているエンコード情報が異なっている場合、データ破壊を防ぐためにデータセットビューを表示モードでのみ開く仕様となっています。
Windows環境でSASを利用している場合、デフォルトのエンコードは下記のようになっています。
英語版SASで作成されたSASデータセットのエンコード情報を変更するためには、 下記のいずれかの作業を行なう必要があります。
ENCODINGデータセットオプションを指定したSASデータセットの作成例は、以下のとおりです。 DATA sasdata.class(ENCODING=sjis) ; /* 出力エンコードを指定 */ SET sasdata.class ; /* 変換したいSASデータセット */ RUN ; また、上記以外に、OUTENCODINGオプションを使って出力先のSASデータライブラリのエンコードを指定する方法があります。下記プログラムを参照してください。 LIBRARY outdata "c:¥saslib" OUTENCODING=sjis ; DATA outdata.class ; /* 同一名で出力するが、エンコードは変換される */ SET outdata.class ; /* 変換したいSASデータセット */ RUN ; |