【问题标题】:SAS code is giving error for Do-While loopSAS 代码为 Do-While 循环提供错误
【发布时间】:2018-02-13 18:11:13
【问题描述】:

我需要用 SAS 代码打印汽车的油耗和里程。如果给定里程是每加仑 20 英里。 如果燃料达到 10 加仑汽车行驶 250 英里,它应该停止产生输出。 我的代码:

data milage;
fuel=1;
do while (fuel<11);
miles =  fuel*20;
fuel+1;
output;
end;
run;

我的输出:

Code Output

前 20 英里的燃料输出需要从 1 开始,这在我的代码中不正确。关于我在这里缺少的任何建议。

谢谢!!

【问题讨论】:

  • 尝试切换fuel+1output 语句。如果您希望它从 1 开始,则需要输出第一个 fuel。顺便说一句,您的标题表明您的 Do-While 循环会引发错误。错误是什么?

标签: loops sas


【解决方案1】:
  1. 为第一行添加一个显式的 OUTPUT 或改为从 0 开始。如果 你从0开始,确保燃料和里程的顺序 计算正确。
  2. 将循环条件更改为

    data milage;
    fuel=0; miles=0;
    
    do while (fuel<10 and miles lt 250);
    
        fuel+1;
        miles =  fuel*20;
    
        output;
    end;
    
    run;
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 2016-07-30
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多