sas - 使用值范围动态创建列
问题描述
我无法找到回答我查询的以前的帖子 - 很乐意关注重复帖子的链接。
我想根据范围(在 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
。
任何帮助表示赞赏!
解决方案
您正在参与不需要的宏。请注意,我创建了数组 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;
推荐阅读
- typescript - STS 不是构造函数
- r - 安装包“ggplot2”的退出状态非零
- ruby-on-rails - Rails - REGEX - 验证非空格/特殊字符的长度
- javascript - 来自 javascript 的带有发布数据的新 Razor 页面
- javascript - 如何使用 exec 通过 SSH 或 HTTPS 进行身份验证
- java - 在 Eclipse 中运行一个内置于 docker 的项目
- r - 使用 R 来确定期刊中的作者位置?
- python - Bokeh DataTable - 在选择回调时返回行和列
- java - 由于未暂存的更改,出现“无法锁定配置文件 .git/config:权限被拒绝”的错误;在 Homebrew 中安装 openJDK 8
- c# - 如何使用 C# 根据用户输入在 aspx 页面中动态打开 TableRows?