在 SAS DS2 中,如何创建一个简单的程序来计算 bmi

In SAS DS2, how to create a simple program to calculate bmi

我正在尝试通过编写计算 BMI 的程序来学习一些基本的 DS2 编程。我写了一个程序,但我得到 'ERROR: Line 47: Attempt to obtain a value from a void expression.'。我做错了什么?

这是我的程序:

    proc ds2;
    data _null_;
    dcl double bmi;

    method bmi_calc(double height, double weight);
        dcl double bmi;
        bmi = weight/(height * height);
    end;

    method init();
      weight = 70.5;
      height = 1.68;
    end;

    method run();
        bmi = bmi_calc(height, weight);
        put 'BMI IS: ' bmi;
    end;

    method term();
        put bmi;
    end;

    enddata;
    run;
   quit;

您需要在 ds2 中使用自定义方法做两件事:

  1. 声明您要使用的值的类型return
  2. Return 值

例如,此方法 returns 值 10

method foo() returns double;
    return 10;
end;

要使您的方法有效,您只需说明您return使用的变量类型,然后return那个值。

method bmi_calc(double height, double weight) returns double;
    dcl double bmi;
    bmi = weight/(height * height);
    return bmi;
end;