我正在寻找构建我的数据库的最佳方法.我从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
这里的问题是当我尝试对这些数据进行年度化时,由于该组数据的原因,我得到了一个非常难看的输出
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
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.