SAS перебирает ОПРЕДЕЛЕННЫЕ столбцы

#loops #sas #finance

#циклы #sas #финансы

Вопрос:

Я пытаюсь выполнить цикл для определенного набора столбцов в моей таблице, а не для всех из них. Есть ли способы вызвать определенные столбцы в SAS? пример: для столбцов с 12 по 30, если значение отсутствует, тогда значение = 0

Я ценю любую помощь или предложение! 🙂

Комментарии:

1. Под «столбцом» вы подразумеваете переменные? Вы ссылаетесь на переменные по их имени, а не в порядке их появления в наборе данных. Пожалуйста, предоставьте пример ввода и вывода.

2. blogs.sas.com/content/iml/2018/05/29 /… плюс массив — это то, что нужно.

Ответ №1:

Используйте массив сокращенный список для ссылки на переменные. Вам нужно указать первую и последнюю переменную в этом списке.

 data want;
set have;
 array vals(*) var12 -- var30;

  do i=1 to dim(vals);
      if missing(vals(i)) then vals(i) = 0;
  end;

run;
  

Вы также можете использовать PROC STDIZE в зависимости от того, как именно структурированы ваши данные.