質問: PROC IMPORTを使用するときに、.xlsxファイルからインポートする変数タイプを定義するにはどうすればよいですか?SAS:PROCでインポートするときにタイプを定義するIMPORT
私の仕事
私は、SAS v9.4を使用しています。私が知っている限り、バニラSASです。私は、SAS/ACCESSを持っていないなど
私のデータは次のようになります。
ID1 ID2 MONTH YEAR QTR VAR1 VAR2
ABC_1234 1 1 2010 1 869 3988
ABC_1235 12 2 2010 1 639 3144
ABC_1236 13 3 2010 2 698 3714
ABC_1237 45 4 2010 2 630 3213
私が実行している手順は次のとおりです。私はこのステップを実行すると
proc import out=rawdata
datafile = "c:\rawdata.xlsx"
dbms = xlsx replace;
format ID1 $9. ;
format ID2 $3. ;
format MONTH best2. ;
format YEAR best4. ;
format QTR best1. ;
format VAR1 best3. ;
format VAR2 best4. ;
run;
、私が取得するには、次ログ出力:
ERROR: You are trying to use the character format $ with the numeric variable ID2 in data set WORK.RAWDATA.
これは、SASが自動的に変数タイプを割り当てるということです。私はそれを手動で制御できるようにしたい。私はこれを行う方法を説明するドキュメントを見つけることができません。 INFORMAT、LENGTH、およびINPUTステートメントはPROC IMPORTでは機能していないようです。
私はPROC IMPORTを使用しています。これは全体的に.xlsxファイルで最大の成功を収めているためです。私が考えることができる2つの解決策は、1).xlsxを.csvに変換し、DATAステップでINFILEを使用し、2)データを数値として取り込み、後のステップで文字に変換することです。私は、データの手動操作(エラーの可能性がある先行ゼロなど)を手動で操作する必要があるため、最初のソリューションは嫌いです。私は誤ってエラーを導入する可能性があります(やはり先頭に0をつけるなど)、無関係の作業を導入するため、2番目の方法は嫌いです。
「SAS/ACCESS to PCファイル」のライセンスはありませんか?私は「DBMS = XLSX」もそれを必要としていたという印象を受けました。 – Joe
また、 'proc import'で直接' format'文を使うことはできませんでした。 – Joe
@Joe 'dbms = xlxs'はBASEの一部になったと思います。 'EXCEL'と他の人はまだPCファイルが必要です。違いは分かりません。 – DomPazz