month60您的數據中每個月至少有1行是使用completetypes
選項,例如
proc summary data = sashelp.class completetypes;
class sex age;
var weight;
output out = mysummary mean=;
run;
對於Sex = F,Age = 16,這會產生頻率爲0的行,而不是完全跳過該輸出。
即使某些數值從未出現在數據中的任何位置,一種更可靠但更勞動密集的方法即可使用classdata
選項,例如,
data myclassdata;
do SEX = 'M','F';
do AGE = 13 to 17;
output;
end;
end;
run;
proc summary nway data = sashelp.class classdata=myclassdata exclusive;
class sex age;
var weight;
output out = mysummary2 mean=;
run;
這裏的exclusive
選項將輸出限制到存在於所述數據集classdata
電平的組合。如果沒有它,您至少會得到classdata中指定的那些行,並根據觀察到的單向值爲所有可能的組合添加行,就像您指定了completetypes
一樣。
你能告訴我們表是如何創建的嗎?你需要描述在哪裏找到或如何確定所有可能的月份。 – Tom
它來自一個大表,每個銷售完成,銷售日期和銷售價值。然後按日期和月份對日期進行分組,並且銷售額累計。因此,如果某個月沒有銷售,那麼該月不會出現在此彙總表中(如上所述)。我能想到的唯一解決方案是在0個銷售額中添加虛擬數據,以便在每個月(和幾年)都會下降並迫使他們出現。 – user43080
月份超過12個月的原因是,這筆交易可能在2011年正式開始,但實際上在2016年完成,即60個月後。雖然我不確定這對於提出解決方案太有幫助 – user43080