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;