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

如何在SAS Enterprise Guide的PROC SQL中按ID统计各服务购买次数?

在SAS Enterprise Guide的PROC SQL中实现按ID统计各服务购买次数

你可以通过条件聚合的方式实现需求,核心思路是按ID分组,对每个服务类型用CASE WHEN判断后求和,自动补全未出现的服务次数为0。

实现代码

假设你的原始数据表名为original_data,执行以下PROC SQL代码:

PROC SQL;
    CREATE TABLE service_counts AS
    SELECT 
        ID,
        SUM(CASE WHEN SERVICE = 'P1' THEN 1 ELSE 0 END) AS P1,
        SUM(CASE WHEN SERVICE = 'G' THEN 1 ELSE 0 END) AS G,
        SUM(CASE WHEN SERVICE = 'AB' THEN 1 ELSE 0 END) AS AB,
        SUM(CASE WHEN SERVICE = 'c2' THEN 1 ELSE 0 END) AS c2
    FROM original_data
    GROUP BY ID
    ORDER BY ID;
QUIT;

代码说明

  1. 分组逻辑:通过GROUP BY ID将数据按ID聚合,保证每个ID只输出一行结果。
  2. 条件统计:对每个服务类型,用CASE WHEN判断当前行的SERVICE是否匹配,匹配则记为1,否则记为0;通过SUM()函数求和,得到该ID对应服务的购买次数。
  3. 自动补0:如果某个ID未购买某类服务,SUM()的结果自然为0,无需额外处理。

运行这段代码后,生成的service_counts表就是你期望的宽格式统计结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 10:05:23