Sas是否提供-表达式机制chain
?
Sas 是否提供 - 子句的机制In
?
简单的例子:
a = '09MAY2010'd;
b = '17MAY2010'd;
if (a<=c<=b) then do; /*code*/ end;
if (c in (a:b)) then do; /*code*/ end;
也许有什么好的 if/where 语句技术?
你的建议和建议,请。
谢谢!
Sas是否提供-表达式机制chain
?
Sas 是否提供 - 子句的机制In
?
简单的例子:
a = '09MAY2010'd;
b = '17MAY2010'd;
if (a<=c<=b) then do; /*code*/ end;
if (c in (a:b)) then do; /*code*/ end;
也许有什么好的 if/where 语句技术?
你的建议和建议,请。
谢谢!
你的例子,改变了一点:
data _null_;
a = '09MAY2010'd;
b = '17MAY2010'd;
c = '17MAY2010'd;
if (a<=c<=b) then do;
putlog "a<=c<=b";
end;
select (c);
when (a, b) putlog "in a, b";
when ('17MAY2010'd) putlog "'17MAY2010'd";/* not used, only first match is executed */
otherwise;
end;
run;
与 IF 或 WHERE 子句一起使用的 IN 运算符需要列表中的常量。
除了IN
只接受括号内的常量值的运算符之外,还有一个(未记录的)IN
函数,它可以与变量一起使用,因此当 a 和 b 是变量时,if c in(a,b)
您也可以使用which 来代替。if in(c,a,b)
另一种可能性是使用WHICHN
orWHICHC
函数,它具有相同的语法,当未找到匹配项时返回0
( ),否则返回(第一个)匹配项的数量。FALSE