我正在尝试使用SAS/SQL从事务数据的数据集创建百分比列表,以了解特定部门如何为特定季度的整体销售数量做出贡献。例如,如果有100个销售处ID 234980和那些20的人在部门在2006年第四季度,则列表应该输出:表格不能正确聚合
Store ID 234980 , 20%.
这是我用来实现这一结果的代码。
data testdata;
set work.dataset;
format PostingDate yyq.;
run;
PROC SQL;
CREATE TABLE aggregatedata AS
SELECT DISTINCT testdata.ID,
SUM(CASE
WHEN testdata.Store='A' THEN 1 ELSE 0
END)/COUNT(Store) as PERCENT,
PostingDate
FROM work.testdata
group by testdata.ID, testdata.PostingDate;
QUIT;
不过,我收到的输出更像是这样的:
StoreID DepartmentA Quarter
100 1 2014Q1
100 0 2014Q2
100 1 2014Q2
100 0 2014Q2
100 0 2014Q2
100 0 2014Q2
101 1 2015Q3
101 0 2015Q3
101 0 2015Q4
为什么我的代码不骨料商店水平?
因为您包含日期字段 - 您希望在汇总之前将其转换为四分之一。 – Hogan
@Hogan数据步骤适当地转换格式。 –
数据步骤将转换输出 - 这对服务器上发生的内部组无效。试着把这个领域拿出来,看看结果是否改变。 – Hogan