缺少时的SAS日期(数字)到字符(。)

时间:2016-04-21 13:36:54

标签: sas

很可能是一个愚蠢的问题,但我必须忽视一些事情。

我有一个日期字段,有时日期缺失(。)。我必须针对此数据集创建一个文件,但是将其加载到DB2环境中的要求是请求它而不是本机SAS空数值(。),它们要求它是一个空字符串。

这应该是一项简单的任务,首先将变量转换为字符,并使用适当的格式:

LAST_ATTEMPT = PUT(ATTMPT1,YYMMDDS10.);

当在数据集上运行proc内容时,它确认已将其转换为字符变量。

问题在于,当我查看数据集时,它仍然具有缺失值的(。)。在尝试将缺少的日期(。)转换为空白字符串时,它会删除变量的每个值...

我在这里缺少什么?

2 个答案:

答案 0 :(得分:2)

选项MISSING ='';

执行作业时,这将为缺失值留空。

答案 1 :(得分:0)

一种方法是使用Options MISSING=' ';,但这可能会对您计划的其他部分产生不良影响。

另一种更安全的方法是在原始程序中添加测试:

IF ATTMPT1~=. THEN LAST_ATTEMPT = PUT(ATTMPT1,YYMMDDS10.);
ELSE LAST_ATTEMPT = "";