0

今日の日付に基づいて日付の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;

' ' = 白は好きではなく、null を受け入れません。どんな助けでも大歓迎です。前もって感謝します。

4

1 に答える 1

0

数値変数の欠損値には 1 つのドットを使用します。

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;
于 2013-11-07T12:38:56.990 に答える