很可能是一个愚蠢的问题,但我必须忽视一些事情。
我有一个日期字段,有时日期缺失(。)。我必须针对此数据集创建一个文件,但是将其加载到DB2环境中的要求是请求它而不是本机SAS空数值(。),它们要求它是一个空字符串。
这应该是一项简单的任务,首先将变量转换为字符,并使用适当的格式:
LAST_ATTEMPT = PUT(ATTMPT1,YYMMDDS10.);
当在数据集上运行proc内容时,它确认已将其转换为字符变量。
问题在于,当我查看数据集时,它仍然具有缺失值的(。)。在尝试将缺少的日期(。)转换为空白字符串时,它会删除变量的每个值...
我在这里缺少什么?
答案 0 :(得分:2)
选项MISSING ='';
执行作业时,这将为缺失值留空。
答案 1 :(得分:0)
一种方法是使用Options MISSING=' ';
,但这可能会对您计划的其他部分产生不良影响。
另一种更安全的方法是在原始程序中添加测试:
IF ATTMPT1~=. THEN LAST_ATTEMPT = PUT(ATTMPT1,YYMMDDS10.);
ELSE LAST_ATTEMPT = "";