Я новичок в SAS и не нашел ответа на свой вопрос. Может быть, это сообщество будет/может быть так велико, чтобы помочь мне.Значение переменной макроса как длина другой переменной?
Можно ли определить значение макропеременной в качестве длины другой переменной? Я знаю, что значение макроса является символом, но есть ли способ сделать это?
Моя проблема заключается в следующем: я хочу проверить свою переменную на самое длинное значение и установить длину самого длинного значения как новую длину переменной. Поэтому я использовал эту программу:
proc sql;
select max(length(variable))
into: length_variable
from dm_comp;
quit;
%put length_variable;
Теперь у меня есть значение как символ в мой макрос, но я не знаю, как использовать этот макрос, чтобы установить новую длину. Возможно ли это сделать так? Если нет, у вас есть идея, как это сделать лучше? Большое спасибо за Вашу помощь.
Я не думаю, что вам нужна часть переименования (x = x_old) или оператор присваивания. Просто добавьте оператор длины, прежде чем инструкция SET будет работать. Он выдает предупреждение об усечении значения, которое можно избежать, установив системный параметр varlenchk = nowarn; – Quentin
@Quentin, вы правы. Я сделал это таким образом, чтобы избежать WARNING в журнале, не изменяя параметры системы. – DomPazz
Большое спасибо за вашу помощь. Это работает. Теперь, если я хочу поместить мой код в макрос, если я хочу использовать его повторно?
– Kris