我正在尋找構建我的數據庫的最佳方式。我有從1997年至2012年的1000家公司的季度財務報表。每家公司都有三種不同的陳述,損益表,資產負債表和現金流量表。構建財務報表數據庫
我希望能夠對數據執行計算,例如將每個季度累計得到每個語句上每個行項目的年度總計。
我已經嘗試了兩種方式至今:
1)存儲每個行項目在它自己的表,即銷售的每個聲明將是一個表,對所有的公司,我只跟蹤銷售數據,以公司作爲主鍵和每個季度的數據作爲單獨的列。這似乎是處理數據的最簡單方法,但每個季度更新數據都非常耗時,因爲有數百個表。
Sales Table Company q32012 q22012 q12012 ABC Co. 500 100 202 XYZ Co. 230 302 202
2)這是一個小更容易更新,但很難用數據進行工作的另一種選擇是有一個單獨的表中的每個公司的每個語句。例如,皇家銀行的利潤表將擁有自己的表格,其中主要欄是行項目。
Income Statement for Royal Bank Line_Item q32012 q22012 q12012 Sales Net Profit
這裏的問題是,當我嘗試按年這個數據,我得到一個非常難看的輸出,由於GROUP BY
SELECT
(CASE WHEN Line_Item = 'Sales' THEN SUM(q4 + q3 + q2 + q1) ELSE '0' END) AS Sales2012,
(CASE WHEN Line_Item = 'NetProfit' THEN SUM(q4 + q3 + q2 + q1)
ELSE '0' END) AS Inventories2012
FROM dbo.[RoyalBankIncomeStatement]
GROUP BY Line_Item
任何幫助,將不勝感激。
+1戴夫。這絕對是星型模式。數據立方體和/或表格模型/ PowerPivot將非常適合按季度,帳戶和公司進行切片和切割,並快速返回結果。儘管如此,一個合適的星型模式設計幾乎是必不可少的。 – brian