楼主: seasy
1415 2

[有偿编程] 请教PROC SQL中如何用不同的条件求不同的SUM [推广有奖]

  • 1关注
  • 0粉丝

大专生

18%

还不是VIP/贵宾

-

威望
0
论坛币
717 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
236 点
帖子
1
精华
0
在线时间
94 小时
注册时间
2006-7-18
最后登录
2022-7-14

楼主
seasy 发表于 2021-1-6 11:27:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教如何用SQL实现下面结果,也就是按N_DATE 和C_FUNDCODE 分组,求C_STOCKTYPE等于不同的标识时的RATIO和,并作为列变量。
多谢多谢
N_DATE        C_FUNDCODE        C_FUNDNAME        STK        BOND        FUND
20200930        A        AA        0.03        0.07        0.05
20200930        B        BB        0.03        0.07        0.05



附:数据集A
data a;
input N_DATE        C_FUNDCODE $        C_FUNDNAME $        C_STOCKTYPE $         C_STOCKNAME $        RATIO;
cards;
20200930        A        AA        STK        XXX        0.01
20200930        A        AA        STK        TTT        0.02
20200930        A        AA        BOND        PPP        0.03
20200930        A        AA        BOND        QQQ        0.04
20200930        A        AA        FUND        SSS        0.05
20200930        B        BB        STK        XXX        0.01
20200930        B        BB        STK        TTT        0.02
20200930        B        BB        BOND        PPP        0.03
20200930        B        BB        BOND        QQQ        0.04
20200930        B        BB        FUND        SSS        0.05
;
run;
二维码

扫码加我 拉你入群

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

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

关键词:proc sql ROC sql Sum 如何用

沙发
栗子面窝头 发表于 2021-3-18 10:26:16
proc sql;
create table new as
select  N_DATE  ,C_FUNDCODE,C_FUNDNAME ,C_STOCKTYPE, sum(ratio) as sum_ratio
from a
group by  C_FUNDCODE ,C_FUNDNAME,C_STOCKTYPE;
quit;

没太看明白你描述的分类条件,是这个意思吗?
已有 1 人评分经验 收起 理由
eijuhz + 20 精彩帖子

总评分: 经验 + 20   查看全部评分

藤椅
gudingji 在职认证  发表于 2021-5-18 11:39:13
  1. data a;
  2. input N_DATE        C_FUNDCODE  $  CFUNDCODE  $   C_STOCKTYPE $   CSTOCKTYPE $    RATIO;
  3. cards;
  4. 20200930        A        AA        STK        XXX        0.01
  5. 20200930        A        AA        STK        TTT        0.02
  6. 20200930        A        AA        BOND        PPP        0.03
  7. 20200930        A        AA        BOND        QQQ        0.04
  8. 20200930        A        AA        FUND        SSS        0.05
  9. 20200930        B        BB        STK        XXX        0.01
  10. 20200930        B        BB        STK        TTT        0.02
  11. 20200930        B        BB        BOND        PPP        0.03
  12. 20200930        B        BB        BOND        QQQ        0.04
  13. 20200930        B        BB        FUND        SSS        0.05
  14. ;
  15. run;

  16. proc sql;
  17. create table sum_a as
  18. select N_DATE,C_FUNDCODE,
  19.         sum(case when C_STOCKTYPE="STK" then RATIO else . end) as  STK,
  20.         sum(case when C_STOCKTYPE="BOND" then RATIO else . end) as  BOND,
  21.         sum(case when C_STOCKTYPE="FUND" then RATIO else . end) as  FUND
  22. from a
  23. group by N_DATE,C_FUNDCODE;
  24. quit;
复制代码
已有 1 人评分经验 收起 理由
eijuhz + 40 观点有启发

总评分: 经验 + 40   查看全部评分

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-6 05:50