Это не символ против числовой проблемы.Все макропеременные являются символьными, но так как ваше значение - все цифры, компилятор SAS будет интерпретировать текст, который он генерирует, как число, так как вы не заключаете его в кавычки.
Реальная проблема заключается в том, что вы пытаетесь ссылатьсяМакропеременная COUNTXXX до того, как вы ее создали.Ссылки на макросы разрешаются до начала выполнения шага данных.Разделите свой шаг на два шага.
data _null_;
set have;
array V varr:;
call SYMPUTX('countxxx',dim(V)) ;
stop;
run;
data want;
set have;
array L[&countxxx.] _temporary_;
...