2024年2月1日木曜日

SASでexcelを読み込むときのdbmsはまずxlsxを使う

 何度目かもわかりませんが、excelをsasに読み込む話をまたします。表題の通りSASでexcelファイルを読み込むときにはまずdbms=XLSXを指定するのが私のやり方です。

dbmsにはやれexcelだxlsxだexcelcsだといろいろ指定できるのが厄介で、それぞれどう違うんだという話への回答がsasの日本語フォーラムにあります。検索してもこの回答にたどり着くまでが遠すぎるのでこのブログでも紹介します。マジで見てくれ。お願いだ。これで今回の記事はおしまいですが、それだと寂しいのでもうちょっと追記します。

リンク先の記事では以下の画像のように回答されていて、excelcsはsasとexcelのbit数が違う場合に、excelはbit数が同じ場合に、xlsxはbitの違いやexcelの有無にかかわらず使用できます。とあります。excelは途中まで数字、途中から文字値の列を読み込んだら文字値の部分を欠測で認識するとんでもない欠陥があるのでそもそも使い物にならないこともあって、bit数にかかわらず使用できるうえにまだ文字値と数字をちゃんと判別するxlsxをまず試してみましょう…という話です。この辺のことは前に記事にしています。


これでexcelは無事sasで読み込めました、めでたしめでたしとはなりません。BASE SASのpric importはdbmsにxlsxと指定できないのです。なんとCSV,DLM,JMP,TABの4つにしか対応していない。こうなると泣く泣くCSVで読み込むしかないのが現状です…




0 件のコメント:

コメントを投稿