SAS是否具有内联函数或三元运算符?

时间:2013-07-28 02:44:01

标签: sas

我正在尝试在SAS中连接一个长字符串,如果函数或三元运算符有内联函数,那么我可以在串联中嵌套IF语句。我在文档中找不到这一点。在DATA步骤中,我想做类似的事情:

myString = "some words " || dead == 1 ? 't' : 'f' || " some more words" ....

基本上,我正在尝试为演示Rails应用程序生成一些种子,以便我可以快速将一些SAS数据转储到SQLite数据库中。

如果在SAS中有任何类型的内联吗?

2 个答案:

答案 0 :(得分:16)

ifc函数(字符版本,ifn数字)是SAS中的内联if函数。 SAS中的那个将是:

myString = cat("some words ",ifc(dead=1,'t','f')," some more words");

(cat,catx等猫科函数比SAS中的||运算符更常用)。

答案 1 :(得分:0)

A more traditional SAS way to generate text based on the value of a variable is to define a format.

proc format ;
  value dead 1='dead' 0='alive' other='unknown';
run;
...
myString = catx(' ','some words',put(dead,dead.),'some more words');