【问题标题】:Complete empty cells of a table with specific value SAS具有特定值 SAS 的表格的完整空单元格
【发布时间】:2021-12-11 22:45:19
【问题描述】:

我正在 SAS 中处理包含日期的列(图片中的 FENTREGA)的表,我想用“Empty”完成此列的空单元格,你能帮我写代码吗? 这是我表的结构,我需要使用的列是 FENTREGA。

【问题讨论】:

  • 你不能。该列类型是具有日期格式的数字,值 EMPTY 是字符值。您可以应用自定义格式来获得 .显示为 EMPTY。

标签: date sas cell


【解决方案1】:

由于您的列是数字,您不能将文本放在同一列中。但是,如果您使用自定义格式,则可以使句点显示为文本 EMPTY。 或者您可以将整列设为文本,但如果不将其转换回来,则无法对列进行日期操作/计算。

proc format;
value empty_dates
. = 'Empty'
Other = [mmddyyd10.];
run;

proc sql;
....

t1.FENTREGA format=empty_dates.,
....

编辑:经过全面测试的解决方案,按预期工作

DATA have;
informat FENTREGA mmddyy10.;
format FENTREGA date9.;
input  FENTREGA;
datalines;
 12/10/2003
 10/15/2006
 07/20/2010
 05/11/2006
 10/01/2006
 07/03/2012
 05/08/2015
 .
 .
 .
 .
;
RUN;
 
proc format;
value empty_dates
. = 'Empty'
Other = [mmddyyd10.];
run;

proc sql;
select
FENTREGA format=empty_dates.
from have;
quit;

【讨论】:

  • 谢谢,我明白了!但我收到“t1.FENTREGA format = empty_dates.”行的错误,我得到:语句无效或使用顺序不正确。你知道怎么解决吗?
  • 显示您的实际错误或检查并查看您的数据/情况与上面的代码有何不同。从上面的示例中可以看出,它确实有效。
猜你喜欢
  • 1970-01-01
  • 2019-01-07
  • 1970-01-01
  • 1970-01-01
  • 2023-02-08
  • 1970-01-01
  • 1970-01-01
  • 2017-01-24
  • 2020-11-02
相关资源
最近更新 更多