包含空白值的日期背景颜色的SAS proc格式

时间:2013-11-06 23:28:50

标签: sas

我有这个代码,我根据今天的日期为日期创建一个proc格式语句。 今天之前的任何日期都是红色,未来的任何日期都是绿色。但是这是一个proc报告我在调用此声明,并且在某些情况下日期有空白值。因此,我希望不包含日期的字段为白色。

data _null_;
sdate = date ();
format sdate date9.;
call symput('sdate',sdate);
run;

proc format;
  value closefmt 
    low - &sdate ='red'
    ' ' = 'white'
    &sdate - high = 'green';

run;

它不喜欢''= white并且不接受null。 任何帮助,将不胜感激。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

对数字变量中的缺失值使用单点:

proc format;
  value closefmt 
    low - &sdate ='red'
    . = 'white'
    &sdate - high = 'green';

run;

/* test code */
data indata;
    d = .; output;
    do i=-3 to 3;
       d = today()+i;
       output;
    end;
run;

data _null_;
    set indata;
    format d yymmdds10.;
    length color $10;
    color = put(d, closefmt. - L);
    putlog d color;
run;