次のコードを使用して、特定のデータを SAS データセットにインポートしようとしています。
データ Names_And_More;
Infile 'C:\Users\Admin\Desktop\Torrent Downloads\SAS 9.1.3 Portable\Names_and_More.txt';
Input Name & $20.
Phone : $20.
Height & $10.
Mixed & $10.;
run;
ファイル内のデータは次のとおりです。
Roger Cody (908)782-1234 5ft. 10in. 50 1/8
Thomas Jefferson (315)848-8484 6ft. 1in. 23 1/2
Marco Polo (800)123-4567 5Ft. 6in. 40
Brian Watson (518)355-1766 5ft. 10in 89 3/4
Michael DeMarco (445)232-2233 6ft. 76 1/3
私は SAS を学ぼうとしてきましたが、Ron Cody の著書 Learning SAS by example を読んでいるうちに、上記の種類のデータをインポートすることがわかりました。アンパサンド (&) 入力形式修飾子を使用できます。アンパサンドは、コロンと同様に、提供された入力形式を使用するように指示しますが、区切り文字は 1 つではなく 2 つ以上の空白になっています。(私の言葉ではなく、ロンの言葉です)。ただし、これをインポートすると、結果 (データセット) は次のようになります。
Name Phone Height Mixed
Roger Cody (908)782- Thomas Jefferson Marco Polo
また、詳細については、SAS ログは次のとおりです。
419 データ Names_And_More; 420 Infile 'C:\Users\Admin\Desktop\Torrent Downloads\SAS 9.1.3 Portable\Names_and_More.txt'; 421 入力名 & $20. 422 電話 : 20 ドル。423 高さ & 10 ドル。424 ミックス & $10. 425 ;走る;
ノート:
infile 'C:\Users\Admin\Desktop\Torrent Downloads\SAS 9.1.3 Portable\Names_and_More.txt' は次のとおりです: File Name=C:\Users\Admin\Desktop\Torrent Downloads\SAS 9.1.3 Portable\Names_and_More. txt、RECFM=V、LRECL=256
ノート:
カードの紛失。Name=Brian Watson (518)35 Phone=Michael Height=DeMarco (4 Mixed= ERROR =1 N =2 注: infile から 5 つのレコードが読み取られました 'C:\Users\Admin\Desktop\Torrent Downloads\SAS 9.1.3 Portable\Names_and_More.txt'. The minimum record length was 37. The maximum record length was 47. NOTE: SAS は、INPUT ステートメントが行末に達したときに新しい行に移動しました. NOTE: データセット WORK.NAMES_AND_MORE には 1観察と 4 つの変数 注: DATA ステートメントを使用 (合計処理時間): リアルタイム 0.17 秒 CPU 時間 0.14 秒
私はこれに関する助けを探しています。正確に何が起こっているのか、何が間違っているのか、このエラーを修正する方法を誰かが説明できれば素晴らしいことです。
ありがとう