希望你能提供帮助。
我的问题是我只想保留大型机服务器中的一些数据,因为我的SAS工作空间有限。
我的程序代码是:
我如何只保留LAENGDE并在LAENGDE中搜索指定的号码?
filename DG121'G41066.PUREX.HK000.WAB.HTB.DG121';
DATA WAB;
INFILE DG121 ;
INPUT
@ 1 LAENGDE ?? IB2.
@ 3 TOTANM ?? IB2.
@ 5 REXHTYP ?? IB2.
@ 7 RMODTAFD ?? PD3.
@ 10 RANVDATO ?? PD5.
@ 15 RKUNDENR ?? PD6.
@ 21 RBRKODE ?? PD2.
@ 23 RRAADGIV ?? ÅCHAR1.
@ 24 RKUNDKAT ?? ÅCHAR3.
@ 27 RMAXOPR ?? PD8.2
@ 35 RLOBTIDO ?? PD2.
@ 37 RPRODBET ?? ÅCHAR6.
@ 43 RMEDIE ?? ÅCHAR5.
@ 48 ROPSIG ?? ZD3.
@ 51 RINDUDL ?? ÅCHAR1.
@ 52 RKUNDGRP ?? ÅCHAR1.
@ 53 L7HTYP ?? IB2.
@ 55 L7TRGRP ?? IB2.
@ 57 L7TRART ?? IB2.
@ 59 L7TRTYP ?? IB2.
@ 61 L7ANSAFD ?? IB2.
@ 63 FILLER ?? ÅCHAR2.
@ 65 L7TRMIS ?? IB4.
@ 69 L7FBRID ?? IB4.
@ 73 L7DANDAT ?? IB4.
@ 77 L7DANTID ?? IB4.
@ 81 L7FANDAT ?? IB4.
@ 85 L7FSYST ?? ÅCHAR8.
@ 93 L7ARKIV ?? IB8.
@ 101 BHTYP ?? PD2.
@ 103 BTILBAGE ?? PD1.
@ 104 BAUTOMAT ?? PD1.
@ 105 BGEBKAT ?? PD2.
@ 107 BGEBSTED ?? PD2.
@ 109 BPOSART ?? PD2.
@ 111 BFOROMR ?? PD2.
@ 113 BSFORM ?? PD2.
@ 115 BSERVART ?? PD2.
@ 117 BFRASTED ?? PD6.
;
run;
答案 0 :(得分:1)
如果我理解正确,你想根据LAENGDE的某个值读取记录,否则完全忽略该记录。正确?如果是这种情况,那么您可以使用行保持说明符尾随@来解决您的问题。您可以在SAS INPUT Statemet的以下SAS文档中阅读有关它的更多信息。此外,下面是您的帮助的参考代码。如果有帮助,请告诉我。
data my_data;
infile datalines missover;
input @1 indicator $8. @;
if indicator='read' then do;
input @9 first_name $9.
@18 last_name $9.
;
end;
else delete;
datalines4;
read john doe
ignore whatever something
read abc xyz
ignore whatever something
ignore whatever something
read abc1 xyz1
;;;;
run;
proc print;run;