Сообщение об ошибке «незакрытый оператор% DO» для макроса sas для сравнения двух числовых значений - PullRequest
0 голосов
/ 25 апреля 2018

Я использую макрос ниже, чтобы сравнить два числовых значения как часть упражнения.

options mlogic mprint;

%let price_trd = 93.68;

%put &price_trd.;

%let max_price = 100.94;

%put &max_price.;

%macro test;

  %if  &price_trd. < &max_price %then %do;
%if  %sysevalf(&price_trd. LT &max_price) %then %do;

  %put Pass HERE;

  %end;

%mend;

%test;

Я получаю сообщения об ошибках ниже: Есть одно нераскрытое заявление% DO.Макрос не был скомпилирован.

Пожалуйста, дайте мне знать наш совет, чтобы решить его.Спасибо.

1 Ответ

0 голосов
/ 25 апреля 2018

вы не указали / не указали в своем коде, что должно происходить с первым условием% if и% do, а также не закрыли% do с% end. попробуйте что-то вроде ниже.

%macro test;

    %if  &price_trd. < &max_price %then %do;
        %put something HERE;
    %end;
   %if  %sysevalf(&price_trd. > &max_price) %then %do;
      %put Pass HERE;
  %end;
 %mend;

%test;
...