我正在开展一个项目,那里有几个BIG立方体。使用的技术是SSAS。我们有数百份报告,很多计算都在报告定义中。我不认为在报告中进行计算是正确的。它增加了测试的复杂性。我认为更好的解决方案是在OLAP中进行计算。但开发人员抱怨MDX查询会运行多年,因为多维数据集将变得更大,更复杂。我的想法是拥有许多小方块并在其中进行计算。
这是好主意吗?您是否有其他想法如何降低报告中值的测试复杂性?
答案 0 :(得分:0)
如果未使用,计算成员不会影响多维数据集的性能。它们不需要存储空间,只有当有人使用查询到Calculatd成员的查询查询多维数据集时才会计算。所以,假设您添加计算的memebrs并继续在报告中使用您的计算,它不会有所作为,它们将站在那里等待使用。这很好测试,您可以创建报告的副本并在paralele中运行以测试结果。
我认为这不会有帮助,它也会增加您的解决方案的复杂性。我会说远离它
答案 1 :(得分:0)
MDX查询性能主要取决于您的多维数据集架构。凭借良好的层次结构和与业务逻辑的良好关联,您不应该关心多维数据集的大小。
只要你在分区上达到约20万,根据时间轴将它分成两部分,为它设计聚合,你就可以了。我们有多维数据集,托管700万个+数据包运行相当复杂的MDX,没有性能问题;与此同时,由于更复杂/不那么优化的架构,只有10-20万个数据源的多维数据集可能会更慢