我有两个维度,比如Date Hierarchy and Product和一个包含MAX(Measures。[Max])聚合的度量。
要求是将度量的和。[Max]在DAY或HOUR级别的日期层次结构中进行汇总,并在月份级别进行汇总。
我有以下查询:
Android Studio
以上查询运行速度非常慢。有没有什么方法可以优化它?
答案 0 :(得分:0)
此查询的问题在于,计算的度量Measures.SumOfMax
将针对轴上的每个单元格进行评估,尽管它每次都会产生相同的值。 SSAS引擎不够智能,无法理解,但是由于您了解此行为,因此您可以利用FE缓存,以便仅对其进行一次评估并在FE缓存中进行缓存。 Read more on it here
With
Member Measures.[_SumOfMax] as SUM([Date].[Hierarchy].[Hour].AllMembers, Measures.[Max])
Member Measures.[SumOfMax] as ([Date].[Hierarchy].[Hour].[All], Measures.[_SumOfMax])
Select
NON Empty
{
Measures.SumOfMax
} ON COLUMNS,
NON EMPTY
{
[Date].[Hierarchy].[Month].AllMembers *
[Product].[Product Name].[Product Name].Allmembers
} Having Measures.[Max] > 0
ON ROWS
FROM [Cube]
希望这有帮助。