楼主: peijiamei
8007 12

[原创博文] 怎么做sum?求最简易方法 [推广有奖]

学科带头人

76%

还不是VIP/贵宾

-

威望
3
论坛币
26151 个
通用积分
12.3533
学术水平
217 点
热心指数
343 点
信用等级
210 点
经验
75410 点
帖子
1102
精华
1
在线时间
2016 小时
注册时间
2007-11-15
最后登录
2016-3-21

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
现在有很多个字段(无法穷举):R_A_DL,R_A_VU,R_B_DL,R_B_VU……R_xxxx_DL,R_xxxx_VU



现在想把以_DL结尾的字段做一下sum,怎么写程序呀?9.2版本

谢谢各位大牛!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Sum 怎么做 程序

回帖推荐

YueweiLiu 发表于4楼  查看完整内容

本帖被以下文库推荐

沙发
Imasasor 发表于 2012-8-16 18:34:24 |只看作者 |坛友微信交流群
提供一点思路,用dictionary.columns提取出含_dl的变量,将这些变量生成宏变量a,各变量之间用逗号隔开,然后用sum(&a)
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

使用道具

藤椅
Imasasor 发表于 2012-8-16 18:38:53 |只看作者 |坛友微信交流群
刚发现你等级这么高,我说的方法你肯定知道,不好意思我班门弄斧了,我记得有一个可以列举相似格式的变量的表示方法,但是记不清了,试了一下*_DL,结果不行
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

使用道具

板凳
YueweiLiu 发表于 2012-8-16 21:43:37 |只看作者 |坛友微信交流群
  1. proc sql noprint;
  2.         select name into :names separated by ","
  3.         from dictionary.columns
  4.         where libname="SASHELP" and memname="CLASS" and upcase(name) like '%T';
  5. quit;


  6. data want;
  7.         set sashelp.class;
  8.         vsum=sum(&names);
  9. run;
复制代码
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

使用道具

报纸
YueweiLiu 发表于 2012-8-16 21:44:37 |只看作者 |坛友微信交流群
楼主根据自己的数据稍做修改即可。
获取数据集字段名称信息,也可以通过sashelp里的vcolumn view来实现,楼主可以再试试。

使用道具

地板
Imasasor 发表于 2012-8-16 21:57:13 |只看作者 |坛友微信交流群
YueweiLiu 发表于 2012-8-16 21:43
你盗窃我的思路!!!
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

使用道具

7
YueweiLiu 发表于 2012-8-16 21:59:37 |只看作者 |坛友微信交流群
Imasasor 发表于 2012-8-16 21:57
你盗窃我的思路!!!
呵呵,如果真是这样,那不好意思了。
实现方法还有很多,你还可以继续发挥,呵呵。

使用道具

8
YueweiLiu 发表于 2012-8-16 22:08:07 |只看作者 |坛友微信交流群
  1. data _null_;
  2.         set sashelp.vcolumn end=eof;
  3.         length names $ 1000;
  4.         retain names "";
  5.         if libname="SASHELP" and memname="CLASS" and prxmatch("m/\T$/",upcase(trim(name))) then do;
  6.                 names=catx(",",names,name);
  7.                 output;
  8.         end;
  9.         if eof then call execute ("data want;set sashelp.class;vsum=sum("||strip(names)||");run;");
  10. run;
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
lizhewenbei + 3 + 3 + 3 精彩帖子

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

使用道具

9
nile0326 发表于 2012-8-17 09:54:40 |只看作者 |坛友微信交流群
牛人们真多啊,谢啦

使用道具

10
peijiamei 发表于 2012-8-17 11:00:16 |只看作者 |坛友微信交流群
谢谢大家,如果还有好的方法,大家可以继续探讨
我的微博:http://t.sina.com.cn/1087192374
欢迎互相加关注!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 04:18