我试图删除BATCH中的所有行:2014年5月。
data out
set INPUT;
if MONTH(BATCH) NE 05 and YEAR(BATCH) NE 2014;
RUN;
批处理列中的数据是数字,格式为MONYY5。
EX:::: MAR13, APR14, MAY14, FEB14, JAN14, FEB12
运行代码后,它将删除所有2014年的记录,而不是删除MAY和2014。
提前致谢。
答案 0 :(得分:1)
因为你要求的每一个都不是2014年和05年。你想要的一切都不是(2014年和05年)。
data out
set INPUT;
if NOT (MONTH(BATCH) eq 05 and YEAR(BATCH) eq 2014);
RUN;
另一种选择,如果你知道它是MONYY:
data out
set INPUT;
if vvalue(batch) ne 'MAY14'; *vvalue gives formatted value
RUN;
只有当你确定它的格式是这样时才有效。