Sas 创建新的开始日期变量,该变量是多列中最早的日期

Sas 创建新的开始日期变量,该变量是多列中最早的日期,sas,Sas,我想比较三列并生成一个新变量start,它保留记录的最早日期。我想做一些更有效率的事情,因为这台电脑正在挣扎 data new1; set new; format start date MMDDYY10; if input(service_start, MMDDYY10) < input(Pay_start,MMDDYY10) and input(service_start, MMDDYY10) < input(cost_start,MMDDYY10) then start = se

我想比较三列并生成一个新变量start,它保留记录的最早日期。我想做一些更有效率的事情,因为这台电脑正在挣扎

data new1;
set new;
format start date MMDDYY10;
if input(service_start, MMDDYY10) < input(Pay_start,MMDDYY10) and input(service_start, MMDDYY10) < input(cost_start,MMDDYY10) then start = service_start;
Else if input(Pay_start,MMDDYY10) < input(service_start, MMDDYY10) and input(Pay_start,MMDDYY10) < input(cost_start,MMDDYY10) then start = pay_start;
Else start = cost_start;
run;

如果你的电脑在挣扎,这不是原因;三个if/else语句不会对CPU使用率产生太大影响。听起来你可能在处理一个大表?如果是这样,您可能会从启用选项compress=yes;中获益;。如果你的电脑在挣扎,这不是原因;三个if/else语句不会对CPU使用率产生太大影响。听起来你可能在处理一个大表?如果是这样,您可能会从启用选项compress=yes;中获益;。
data new1;
    set new;
    format start date MMDDYY10.;
    start = min( input( service_start, MMDDYY10. ), input( Pay_start, MMDDYY10. ), input( cost_start, MMDDYY10. );
run;