看板 Statistics 關於我們 聯絡資訊
[軟體程式類別]: SAS [程式問題]: 資料處理 [軟體熟悉度]: 新手 [問題敘述]: 本來想要自己創資料來測試 但因為實際使用的資料量很大 我在想可能看不出差異 想請教一下版友 以下兩種寫法會否影響到加總的結果 [程式範例]: 第1種 PROC SQL ; CREATE table B AS SELECT year, sex ,yearlevel , sum(fee) as s_fee , count ( distinct id ) as c_did FROM A where diftime<=11 GROUP BY year, sex ,yearlevel order by year, sex ,yearlevel ; QUIT ; 第2種 PROC SQL ; CREATE table C AS SELECT year, sex ,yearlevel , sum(fee) as s_fee FROM A where diftime<=11 GROUP BY year, sex ,yearlevel order by year, sex ,yearlevel ; QUIT ; 有的id在不同年度(year)會出現在2次 有的id則可能出現5次,出現的次數不完全相等 兩種的寫法差別只在於第1種有把count id的計算丟進去 原本只是因為懶得分兩次計算id的筆數 所以才一起寫進去 結果 第1種算出來的fee加總會略高於第2種 我不懂為什麼 也不知道哪個對 而且還有更奇怪的事情 就是 一開始先執行第2種程式,得到比較小的fee加總時 如果再執行第1種程式,得到比較大的fee加總後 此時再執行一次第2種程式的話 結果出來的fee加總會變成跟第1種一樣,也就是比較大的fee加總 我知道很離奇 但真的不知道是發生什麼事 程式執行時也沒有出現驚嘆號和錯誤 不知道有沒有版友遇過相同經驗 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.53.140 ※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1539958687.A.00C.html ※ 編輯: dofu1943 (36.228.53.140), 10/19/2018 22:19:30 ※ 編輯: dofu1943 (36.228.53.140), 10/19/2018 22:22:32
west1996: 看起來應該要是一樣的答案才對,是每一組的fee都略高嗎 10/19 23:44
west1996: 還是特定某一組的fee略高?再仔細檢查一下log檔,應該有 10/19 23:45
west1996: 什麼訊息沒有注意到 10/19 23:45
liton: 應該是原始數據的問題,檢查看看id是不是有空值之類的問題 10/21 17:42