2016-07-07 2 views
2

Нового SAS программист here..in .NET можно присвоить одно значение для нескольких переменных в одной строке следующим образом:инициализировать несколько переменных в одной строке SAS

var1 = var2 = var3 = 0;

есть синтаксис в SAS, чтобы сделать эквивалент?

+0

Вам не нужно инициализировать переменные SAS, что вы пытаетесь сделать для инициализации? Если сумма, используйте функцию SUM(), которая будет игнорировать отсутствующие значения или отсутствие инициализации. – Reeza

ответ

1

Насколько я знаю, SAS не поддерживает множественное назначение.

SAS оценивает var1 = var2 = var3 = 0;, как var1 = (var2 = var3 = 0); и возвращает значение 1 для var1, если var2 = var3 = 0 и в 0 в противном случае.

2

No.

Но есть и другие способы достигнуть такого рода вещи.

Наиболее распространенным является использование цикла ARRAY и DO.

array varlist var1 var2 var3 ; 
do i=1 to dim(varlist); 
    varlist(i)=0; 
end; 

Вы можете использовать инструкцию ARRAY для инициализации переменных.

array varlist var1 var2 var3 (3*0); 

Но это относится только к начальному значению на первой итерации этапа данных.

Или вы можете быть творческим и использовать макрофункцию для генерации кода.

%sysfunc(tranwrd(var1|var2|var3|,|,%str(=0;))) 

Если вы хотите установить значение отсутствует, вы можете использовать вызов MISSING() функцию.

call missing(of var1 var2 var3); 
Смежные вопросы