динамически создавать столбцы, используя диапазон значений - PullRequest
0 голосов
/ 15 ноября 2018

Мне не удалось найти предыдущее сообщение, ответившее на мой запрос, - я буду рад перейти по ссылке на повторяющееся сообщение.

Я хочу динамически создавать столбцы на основе диапазона (в SAS) - что-то вроде ниже, что не работает

data work.test;
    set sashelp.air;
    format mb monyy.;
    do i = 1 to 10;
        mb&i = intnx('MONTH', date, -i, 'same');
    end;
run;

Ожидаемый результат - 10 новых столбцов с именами от mb1 до mb10 с соответствующим значением date-interval.

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 15 ноября 2018

Вы получаете макрос, который вам не нужен. Обратите внимание, я создаю массив MB и заменяю MB & I ссылкой на массив. У меня нет SASHELP.AIR, так что просто сегодня (), но вы поняли.

data work.test;
   *set sashelp.air;;
   array mb[10];
   date = today();
   do i = 1 to dim(mb);
      mb[i] = intnx('MONTH', date, -i, 'same');
      end;
   format mb: monyy.;
   run;
...