首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PROC SQL中执行附加计算

在PROC SQL中执行附加计算
EN

Stack Overflow用户
提问于 2022-09-02 10:44:46
回答 1查看 41关注 0票数 1

我有这个规范来导出参数代码DACAPNT的AVAL。

对于红色高亮显示的文本,这是我试图使用的代码

代码语言:javascript
复制
*Performing calculations for DACAPNT AVAL *;
proc sql;
    create table sum_by_totda as
    select *
           ,sum(dastresn) as totn            
    from sdtm.da
    where datestcd in ("RETAMT","DISPAMT")
    group by usubjid, datestcd
    ;
quit;

我的问题是,是否有办法在这个PROC SQL语句中进行计算,或者这是否需要额外的数据步骤/PROC SQL?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-04 23:12:33

您可以在SQL中的聚合函数中包括CASE/WHEN/CASE/END逻辑,因此可以使用以下方法实现这一点:

代码语言:javascript
复制
sum(case when paramcd = 'CAPSEXP' then aval else 0 end + 
case when datestcd = 'RETAMT' then dastresn else 0 end +
case when datestcd = 'DISPAMT' then -1*dastresn else 0 end)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73581399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档