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