Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If-then-else如何在SAS中工作_Sas - Fatal编程技术网

If-then-else如何在SAS中工作

If-then-else如何在SAS中工作,sas,Sas,从PSU学习sas教程时https://online.stat.psu.edu/stat480/lesson/welcome-stat-480 我遇到了这样的句子: 请注意,一般情况下,将ELSE语句与IF-THEN语句一起使用可以节省资源: 在不使用ELSE语句的情况下使用IF-THEN语句会导致SAS计算所有IF-THEN语句。 将IF-THEN语句与ELSE语句一起使用会导致SAS执行IF-THEN语句,直到遇到第一条true语句。后续的IF-THEN语句不进行计算 有人能给我举个例子解释

从PSU学习sas教程时<代码>https://online.stat.psu.edu/stat480/lesson/welcome-stat-480

我遇到了这样的句子:

请注意,一般情况下,将ELSE语句与IF-THEN语句一起使用可以节省资源:

在不使用ELSE语句的情况下使用IF-THEN语句会导致SAS计算所有IF-THEN语句。 将IF-THEN语句与ELSE语句一起使用会导致SAS执行IF-THEN语句,直到遇到第一条true语句。后续的IF-THEN语句不进行计算


有人能给我举个例子解释一下上面的课吗。谢谢。

这意味着在我翻译水果颜色的第一个代码版本中,计算机将首先测试黄色水果是否为红色,然后是黄色,然后是绿色,然后是蓝色

data DUTCH_FRUIT;
   set ENGLISH_FRUIT;
   if color eq 'red' 
      then kleur = 'rood';
   if color eq 'yellow' 
      then kleur = 'geel';
   if color eq 'green' 
      then kleur = 'groen';
   if color eq 'blue' 
      then kleur = 'blauw';
run;
而在第二种情况下,它只会测试它是红色,然后是黄色,但不会测试它是绿色还是蓝色,这更有效

data DUTCH_FRUIT;
   set ENGLISH_FRUIT;
   if color eq 'red' 
      then kleur = 'rood';
      else if color eq 'yellow' 
         then kleur = 'geel';
         else if color eq 'green' 
            then kleur = 'groen';
            else if color eq 'blue' 
               then kleur = 'blauw';
run;

考虑在连续的
IF/THEN
语句中放置的一系列互斥逻辑求值

length word $10;
word='Infinity';
if x=1 then word='One;
if x=2 then word='Two';
if x=3 then word='Three';
if x=4 then word='Four';
if x=5 then word='Five';
只有一个评估是正确的,但所有五个都需要评估。通过将单独的语句与
ELSE
链接,您将创建一个大语句,该语句将尽快完成 单个
IF
测试的结果为true

在这里,我把
ELSE
放在这行的开头,以便强调

     if x=1 then word='One;
else if x=2 then word='Two';
else if x=3 then word='Three';
else if x=4 then word='Four';
else if x=5 then word='Five';
else word='Infinity';
考虑当
x
3
时的情况,需要执行测试
x=4
x=5
donot。这是你的资源节约