从SAS / IML中获取数据

时间:2012-03-14 21:37:48

标签: sas

我在IML中有以下模块,例如:

start multiply (x,y);
    product = x*y;
    return product;
finish multiply;

我打电话给:

RUN multiply(2,100); /* outputs 200 */

我想知道的是非常简单,如何将其指定为新变量?在PHP中,我可以这样做:

function multiply($x,$y){
    $product = $x*$y;
    return $product;
}

然后做:

$newvar = multiply(2,100);

我在SAS中需要这个功能。有可能吗?

2 个答案:

答案 0 :(得分:0)

我意识到,由于SAS通过引用传递,我们可以将输出变量作为模块的输入参数传递。所以我们可以写:

start multiply (x,y,z);
    product = x*y;
    z = product;
finish multiply;

我打电话给:

run multiply(2,100,z);
print z;

通过引用传递,有效但风险很高......

答案 1 :(得分:0)

原始问题的答案是将返回值分配给矩阵: 而不是

 RUN multiply(2,100); /* WRONG */

你想要

 product = multiply(2,100);