if/else..where等条件判别语句比较常见,ifc&ifn语句的出现提高了某些条件判别的效率.这里从文档里翻译摘录些ifc&ifn的说明.
1.语法:
IFC(logical-expression, value-returned-when-true, value-returned-when-false <,value-returned-when-missing>);
IFN(logical-expression, value-returned-when-true, value-returned-when-false <,value-returned-when-missing>);
2.功能
ifc: 变量值为字符(字符串)
ifn:变量值为数值型变量
3语句说明
正如语法的英文意思,logical-expression用作条件判断,后面三个子句为返回值,ifc返回字符型变量,ifn得到数值型变量
4.文档例子
ifc例子
data _null_;
input name $ grade;
if grade>80 then performance='Pass ';
else performance = 'Needs Improvement';
put name= performance=;
datalines;
John 74
Sam 89
Kati 100
Maria 92
;run;
data _null_;
input name $ grade;
performance = ifc(grade>80, 'Pass ', 'Needs Improvement');
put name= performance=;
datalines;
John 74
Kareem 89
Kati 100
Maria 92
;run;
quit;
ifn的例子
*if/then;
data _null_;
input TotalSales;
if TotalSales > 10000 then commission = .05 * TotalSales;
else commission = .02 * TotalSales;
put commission=;
datalines;
25000
10000
500
10300
;run;
*ifn();
data _null_;
input TotalSales;
commission=ifn(TotalSales > 10000, TotalSales*.05, TotalSales*.02);
put commission=;
datalines;
25000
10000
500
10300
;run;