我正在使用 Excel 2007 数据透视表访问 2005 SQL Server 上的 OLAP SSAS 多维数据集,发现刷新某些表需要超过 10 分钟。我的同事似乎认为这是一个悲伤的现实,但我想知道我是否应该考虑其他选择。
我的一些想法:
显然,如果我可以升级服务器硬件,我会的,但我只是一个没有这样权力的分析师,所以我不认为硬件改进是一个很好的选择。迁移到较新的 SQL 服务器也是如此,我想这也会加快该过程。
更新到较新版本的 Excel 会加快该过程吗?
我发现了这个:http://olappivottableextend.codeplex.com/ ,这让我可以访问 MDX,这显然是低效的(对我来说听起来像 VBA 的宏记录器),所以会改变 MDX(我知道一点,它为数据透视表提供的查询不会)看起来没有那么复杂)是一个选择吗?
可以选择在 Excel 之外运行 MDX 吗?我可以编写查询,但我想它不会像数据透视表那么简单。
看起来 OLAP 多维数据集在很多方面都是一个很好的解决方案,这些是一些处理大量信息的大型数据透视表,但如果有一种合理的方法来加速整个过程,我很想知道更多相关信息。
非常感谢您的想法。
最佳答案
访问 SSAS 多维数据集的方法有很多,但这取决于您想要实现的目标。
Excel 往往被企业使用,因为
- 已经安装
- 这是一个熟悉的业务工具
- 易于使用
- 无需开发者干预
访问多维数据集的 Excel 的其他替代方法包括
- 直接通过多维数据集浏览器或 mdx 进行 SQL Server Analysis Services(管理工作室)
- SQL Server 报告服务
- 利用 AdomdConnection 进行定制开发(例如 C#)
- 通过 OpenQuery 的 SQL Server(管理工作室)
如果您到目前为止一直使用 Excel 访问多维数据集,您可能会认为其他工具都无法完全满足您的需求,因此您最终会坚持使用它。
假设 Excel 是适合您的工具,那么您应该继续讨论为什么它很慢。可能性列表(不包括硬件/软件)很长,但这里有一些;
- 可能是网络/数据库/磁盘资源上的外部争用(对您的项目而言)。数据量可能会随着时间的推移而积累。
- 多维数据集可能未分区。
- 您提出的问题可能会变得更加复杂。
- 多维数据集聚合可能无法满足您的需求。
- 多维数据集分区可能丢失
- 多维数据集结构可能效率低下,因为它支持多对多关系
- 用户/查询量可能有所增加
为了尝试解决这个问题,我会
- 评估多维数据集中所需的数据(并且可能将多维数据集限制为滚动 x 个月窗口)
- 记录您的查询并应用基于使用情况的优化
- 通过 SQL Server Profiler 监控多维数据集使用情况
- 检查立方体设计的结构
- 尝试使用其他工具(跨网络和多维数据集本地)进行类似查询,以确定问题所在
- 如果您确定 Excel 是周点,这两个网站可能会对您有所帮助 Excel, Cube Formulas, Analysis Services, Performance, Network Latency, and Connection Strings或 Excel, Cube Formulas, Analysis Services, Performance, Network Latency, and Connection Strings (位于 SQLCAT BI 和分析指南第 57 页)
关于sql-server - Excel 中 OLAP SSAS 多维数据透视表的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13573919/