2013年4月21日 星期日

使用CrossTab製作樞紐分析表(三)


第一回我們留下三個問題
  1. 如果有些日期的某些科目沒有值,這時顯示會有錯誤,系統會將數值誤值至其他科目。
  2. 通常日期會有不定個數,上述方法只顯示兩期(f_20050601, f_20050701),但資料其實不只兩期,我們需先執行 select distinct datekey' from account_data 才能知道有多少期。
  3. 每個個案的日期個數不同,甚至資料表不同,我們每次都要改寫crosstab嗎? 能不能寫成一個通用的function呢?
第二回我們解決了第一個問題,這次我們一口氣解決其他的問題,首先我們要把會變動的部分抽出來,讓即將撰寫的function具有通用性

使用CrossTab製作樞紐分析表(二)


上回我們留下三個問題:
  1. 如果有些日期的某些科目沒有值,這時顯示會有錯誤,系統會將數值誤值至其他科目。
  2. 通常日期會有不定個數,上述方法只顯示兩期(f_20050601, f_20050701),但資料其實不只兩期,我們需先執行 select distinct datekey' from account_data 才能知道有多少期。
  3. 每個個案的日期個數不同,甚至資料表不同,我們每次都要改寫crosstab嗎? 能不能寫成一個通用的function呢?
本回我們要解決第一個問題,

使用CrossTab製作樞紐分析表(一)


最近工作上需要針對財務資料表進行樞紐(Pivot)分析,亦即要作多維度分析,將日期變成欄位,並以會計科目為列,比較多個期別的財務表現,含兩個表 -- 會計科目資料表(account_profile)、總帳資料表(account_data), 測試資料附於文末。
Step-0010