Ssas SSA中计算成员的性能影响

Ssas SSA中计算成员的性能影响,ssas,mdx,cube,Ssas,Mdx,Cube,我想知道向多维数据集中添加大量计算成员是否会影响性能。一方面,一次定义、集中定位、测试并可从任何不支持MDX的客户机使用的东西都很好。另一方面,我正在添加的一些成员可能不会经常使用,因此我可以将它们内联到可能需要它们的一两个报告中 除了让不必要的成员四处游荡的混乱之外,我是否应该让计算成员的数量尽可能少?更多会增加多维数据集处理时间吗?它们会减慢不使用这些计算成员的查询速度吗?计算成员对处理或其他查询几乎没有影响。添加您想要的数量 原因是它们只是在多维数据集上定义的,但实际上是在运行时计算的。因

我想知道向多维数据集中添加大量计算成员是否会影响性能。一方面,一次定义、集中定位、测试并可从任何不支持MDX的客户机使用的东西都很好。另一方面,我正在添加的一些成员可能不会经常使用,因此我可以将它们内联到可能需要它们的一两个报告中


除了让不必要的成员四处游荡的混乱之外,我是否应该让计算成员的数量尽可能少?更多会增加多维数据集处理时间吗?它们会减慢不使用这些计算成员的查询速度吗?

计算成员对处理或其他查询几乎没有影响。添加您想要的数量

原因是它们只是在多维数据集上定义的,但实际上是在运行时计算的。因此,只有使用它们的查询才会减慢速度或受到它们的影响。由于这个原因,他们返回的速度也会比本地成员慢一点


如果计算出的成员被频繁使用,请寻找机会使其成为多维数据集的实际部分。另外,学习并热爱
范围
语句。虽然
scope
d的计算成员仍在运行时进行计算,但
scope
语句为其提供了一个现成的执行计划,因此它往往更快。我通常会在DSV中创建一个成员,然后为我的大量计算成员创建一个
范围
成员。

任何时候你可以将计算推回到关系模型中,它都会提高MDX查询性能;但也会对处理性能产生负面影响

如果可以使用行内sql逻辑预先计算某些度量值,那么可以在数据源视图中将这些度量值公开为度量值。存储引擎可以构建聚合,而公式引擎的工作量将更少。您基本上是在将繁重的工作推到sql上。这对于静态计算和转换因子以及简单算法等方面非常有效


您可以做的另一件事是创建任何中间计算成员,这些成员不应该被最终用户用作隐藏成员,这不会对性能产生任何影响;但是会从最终用户的角度消除多维数据集的混乱。

多维数据集的整个点不是所有成员都预先计算好的吗?为什么SSA提供如此有限的预计算自定义成员的方法?唉…@杰克:不是所有的成员。如果只是一个简单的计算,那么多维数据集中的度量值组合就不值得存储。例如,如果你将“零售额”和“互联网销售额”作为多维数据集中的度量值,而你想要的是“总销售额”,那么你就不想为了保持“总销售额”而将事实的大小增加33%度量——只定义“总销售额=零售额+互联网销售额”的计算度量更有效。。。