You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SAS PROC SQL按年月统计NRB记录数如何实现单月聚合输出一条结果

解决方法

要实现按年月维度单条输出聚合结果,修改第二段查询逻辑即可,核心问题是缺少GROUP BY分组语句,同时SELECT中包含了非分组维度的多余字段,导致相同年月被拆分为多条记录。

调整要点

  • 仅保留年月维度字段POLICY_VINTAGE作为分组依据,移除不需要的DATE_、POLISA_INFORMACJA字段,若需要同时按保单状态分组可保留并加入GROUP BY子句
  • 若要统计唯一NRB的数量,使用COUNT(DISTINCT NRB)避免重复识别号被多次计数
  • 注意WHERE条件中的字段名要与之前生成的字段对齐,原代码中INFORMATION="U"属于POLISA_INFORMACJA的拼写错误

修正后代码

PROC SQL;
/* 第一段查询逻辑保持不变,此处省略原有内容 */
create table PolisyEnd1 as
    select
    POLICY_VINTAGE,
    count(distinct NRB) as NUMBER
    from PolisyEnd
    where POLISA_INFORMACJA ="U"
    group by POLICY_VINTAGE
;
Quit;

若需要同时按年月+保单状态分组统计,可使用以下代码:

create table PolisyEnd1 as
    select
    POLICY_VINTAGE,
    POLISA_INFORMACJA,
    count(distinct NRB) as NUMBER
    from PolisyEnd
    group by POLICY_VINTAGE, POLISA_INFORMACJA
;

内容的提问来源于stack exchange,提问作者Przemek Dabek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:45:04