J'ai un ensemble de données nommant error_table
comme suit. Toutes les variables sont le caractèreSAS logique conditionnelle pour exécuter un autre programme sas basé sur la condition
Errorno Error Resolution
001 login check
002 datacheck check
Je voulais une logique qui exécute un programme sas
Si le Errorno
est pas 001
et 002
. Sinon, arrêtez l'exécution et affichez le error_table
.
J'ai essayé le suivant
%macro test();
proc sql;
select trim(Error_No) into: num from error_table;
quit;
%if &num. not in ("001","002") %then %do;
%include "/path/dev/program.sas";
%end;
%else %do;
proc print data = error_table;
run;
%end;
%mend;
%test;
Mais, il jette une erreur.
Quelqu'un peut-il corriger s'il vous plaît la logique.
Quelle erreur lance-t-elle? – Quentin
Curieux de votre logique. Voulez-vous dire: s'il y a un enregistrement dans error_table où errorno Not in ("001" "002") alors exécutez le programme; else imprimer error_table? – Quentin