【发布时间】:2026-02-12 03:20:09
【问题描述】:
我正在尝试学习 SAS,我想将表的不同行拆分为不同的列,以对数据进行分组。
即,
表格详解
Num Date Type Amount
A1 6/12/2018 Merc 5
A2 7/3/2014 Merc 10
A2 6/5/2014 Merc 6
A2 6/5/2014 Cong 15
A3 5/6/2020 Cong 30
A4 7/8/2019 Cong 6
A3 5/6/2020 Fres 7
A4 7/8/2019 Fres 9
我想在这个表中变换
表格摘要
Num Date Merc Cong Fres
A1 6/12/2018 5
A2 7/3/2014 10
A2 6/5/2014 6 15
A3 5/6/2020 30 7
A4 7/8/2019 6 9
已开发此查询但无法正常工作。
PROC SQL;
CREATE TABLE WORK.Summary AS
SELECT t1.Number,
t1.Date,
t1.Type,
(case when t1.Type='Mercearia' then t1.Type) as Merc,
(case when t1.Type='Congelado' then t1.Type) as Cong,
(case when t1.Type='Fresco' then t1.Type) as Fres,
FROM WORK.Detailed t1
END
提前致谢!
【问题讨论】:
-
SQL 可以工作,但 PROC TRANSPOSE 是更好的解决方案,因为它是动态的,您不需要提前知道不同的类型或考虑它们。当您的类型超过 3 个时,这会变得非常麻烦。
标签: sql sas proc-sql enterprise-guide