背景:
我们需要整合全国的销售数据进行分析
我们的互联网连接/IT 专业知识/IT 投资不够强,因此无法提供完整的 BI 解决方案
我尝试了几种 SaaS BI 解决方案(GoodData、ZohoReports),虽然它们都很好,但似乎不能完全满足我们的需求
我们预计每两个月会有大约 200 万条记录
我目前的方法
我们 (10) 个站点目前从所有分支机构收集数据,并将它们合并到 1 个 Excel 文件中,其中包含数据透视表和嵌入源数据
在总部,我将要求 10 个站点定期发回这些 Excel 文件
我们会将这些 Excel 导入到我们的 MSSQL 服务器
将会有一个主 Excel 文件,其中也将具有相同的数据透视表(与来自站点 Excel 文件的那些一样),并且数据源是 MSSQL 服务器
更多细节
为了进行测试,我目前在笔记本电脑上使用 MSSQL 2008 Express
到目前为止,我导入了过去 2 个月的交易,MSSQL 中的 1 个表中有 200 多万行数据(我们只使用 1 个表,与我们常见的数据透视表结构相对应)。数据库大小约为 600 MB
在主 Excel 文件中,如果不包含源数据,则只有 < 10MB。包含源数据将使大小增加到 60 MB(所以我想 Office 2007 会自动压缩数据?)
我尝试使用 Pivot(拖放字段),到目前为止性能还不错(我的笔记本电脑规格:C2D T7200、3GB RAM、Windows XP)
所以我的问题是:
如果我们查看全年交易(MSSQL 2008 Express 中大约有 1500 万行,大小为 3.6 GB),那么 SQL Express 中 1 个表中的 1500 万行是否存在问题?
那时数据透视表是否存在性能问题?它还能嵌入源数据吗?(我用谷歌搜索但没有找到 Excel 2007 可以嵌入的最大源数据大小)
关于如何更好地做到这一点,还有其他建议吗?鉴于我们买不起完整的 BI 解决方案,您能推荐任何轻量级/预算/SaaS BI 吗?
谢谢
答案1
SQLServer Express 2008 有 4Gb 的限制(包括日志文件),因此看起来您最初会非常接近该限制,并且很快就会超过该限制。如果只是单个表,也许您会考虑 SQLite(或者可能是 mySQL)。
根据我使用数据透视表(以及一般的 Excel)的经验,它运行良好,但到了一定程度,性能就会显著下降。
总的来说,我认为您的方法是我会选择的方法。我不会尝试透视整个表格,而是尝试通过视图预先汇总数据库中的数据,即使我必须有两个单独的工作表,其中包含两个不同的汇总数据视图(例如,一个汇总到每日或每小时,另一个汇总到另一个关键维度的某个级别——可能是按订单或登录或其他方式)。这应该会将更多的工作量保留在数据库中,并使电子表格更轻便。
祝你好运!