Требуется оператор / правый операнд для каждой переменной. Это не соответствует условию: -
If M='1' or N='1' or ... then fonction=1;
Если бы они были числовыми переменными, вы могли бы добавить их в функцию суммы:
if sum(M,N,...)>=1 then...
, но, очевидно, они являются текстовыми переменными, а не действительными двоичными числами. (число) переменных.
Между прочим, я уверен, что вы могли бы также использовать функции %do
l oop и asc()
внутри %sysfunc()
, передавая соответствующие числа ascii, чтобы перебрать переменные алфавита и затем передать результаты как макропеременные в шаге данных для автоматизации построения if. Это требует немного больше усилий, но если вы неоднократно запускаете это, это более элегантное решение.
Надеюсь, это поможет,
Фил