0

私は4Glを学んでおり、入力形式にはほとんど問題がありません:私はファイルを持っています:

Imie;Nazwisko;Wiek;indeks;PESEL;Kierunek;Rok;Urodziny;Srednia;Frekwencja
Tomasz;Szan;23;114132;9134765445;Informatyka;5;5.32;99%;14.03.91
Karolina;Herl;21;134294;93543245;;3;4.57;92%;29.09.93
Damian;Kwak;24;189994;1234567890;Informatyka;5;3.50;80%;24.09.90
Ebenezer;Scrooge;AA;882741;78899609;Automatyka;4;3.72;34%;30.02.88

そして 4GL コード:

DATA projekt.project1;
length PESEL $ 11;
length nazwisko $ 15;
length kierunek $ 15;

INFILE 'c:\lasa_do_sasa\studenty.txt' DLM=';' MISSOVER DSD FIRSTOBS=2;
INPUT imie $ nazwisko $ wiek $ nr_indeksu PESEL $ kierunek $ rok srednia_ocen frekwencja PERCENT3. urodziny ddmmyy8. ;

RUN;

問題は、xx%;date がある場合、SAS が日付を読み取らないことです。エラーが表示されます: urodziny のデータが無効です

誰でも私を助けることができますか?私は何か明白なことをしていると思います...

4

1 に答える 1

2

ここでの秘訣は、:フォーマット修飾子を使用して、SAS が % 記号の後の次の区切り文字を超えて読み取ろうとするのを止めることです。次の方法で、入力ステートメントに他の変数の長さを設定することもできます。

data want;
infile cards4 dsd dlm = ';' firstobs = 2;
input imie $ nazwisko :$15. wiek $ indeks $ PESEL :$11. kierunek :$15. rok urodziny srednia :PERCENT3. frekwencja ddmmyy8. ;
format frekwencja ddmmyy8.;
cards4;
Imie;Nazwisko;Wiek;indeks;PESEL;Kierunek;Rok;Urodziny;Srednia;Frekwencja
Tomasz;Szan;23;114132;9134765445;Informatyka;5;5.32;99%;14.03.91
Karolina;Herl;21;134294;93543245;;3;4.57;92%;29.09.93
Damian;Kwak;24;189994;1234567890;Informatyka;5;3.50;80%;24.09.90
Ebenezer;Scrooge;AA;882741;78899609;Automatyka;4;3.72;34%;30.02.88
;;;;
run;
于 2014-11-22T13:52:27.030 に答える