【问题标题】:SAS 4GL - multiple informatsSAS 4GL - 多种信息
【发布时间】:2014-11-21 23:39:07
【问题描述】:

我正在学习 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 的数据无效

有人可以帮助我吗?我觉得我做了一些显而易见的事情......

【问题讨论】:

  • 输入语句中的顺序与标题行不匹配。我不知道你所说的“有 XX%;日期 SAS 不会读取日期”是什么意思,你能详细说明一下吗?虽然我认为修复第一部分(输入顺序)可能会有所帮助。
  • 另外,我认为您可能难以让 SAS 相信 2 月 30 日是有效日期。
  • 2 月 30 日是我任务的一部分:我必须删除不正确的数据,例如日期
  • 使用日期信息导入时,像 2 月 30 日这样的无效日期最终会成为缺失值,所以这应该不是问题。
  • 是的,这就是重点。尽管如此:谢谢:)

标签: sas 4gl


【解决方案1】:

这里的技巧是使用 : 格式修饰符来阻止 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;

【讨论】:

  • 谢谢!这就是我一直在寻找的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-01
  • 2014-03-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多