代码之家  ›  专栏  ›  技术社区  ›  CPak

使用值范围动态创建列

sas
  •  0
  • CPak  · 技术社区  · 7 年前

    我找不到以前的帖子来回答我的问题-我很乐意通过链接找到重复的帖子。

    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 回复  |  直到 7 年前
        1
  •  2
  •   data _null_    7 年前

    您正在参与到您不需要的宏中。请注意,我创建了阵列MB并替换了MB&我使用数组引用。我没有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;
    
    推荐文章