我正在嘗試使用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