我正在寻找构建数据库的最佳方式。我有 1997-2012 年 1000 家公司的季度财务报表。每家公司都有三张不同的报表,即损益表、资产负债表和现金流量表。
我希望能够对数据进行计算,例如将每个季度相加以获得每个报表上每个行项目的年度总计。
到目前为止,我尝试了两种方法:
1)将每个语句的每个行项目存储在它自己的表中,即销售将是一个表,并且只有我正在跟踪的所有公司的销售数据,公司作为主键,每个季度数据作为单独的列。这似乎是处理数据的最简单方法,但每个季度更新数据非常耗时,因为有数百个表。
销售表 公司 q32012 q22012 q12012 ABC 公司 500 100 202 XYZ 公司 230 302 202
2) 另一个更容易更新但更难处理数据的选项是为每家公司的每条语句创建一个单独的表。例如,皇家银行的损益表会有它自己的表,主列是行项目。
皇家银行损益表 Line_Item q32012 q22012 q12012 销售量 净利
这里的问题是,当我尝试对这些数据进行年度化时,由于 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
任何帮助,将不胜感激。