SSAS每日计算累计到任何维度

时间:2012-12-07 14:34:09

标签: ssas mdx cube

我尝试在我的多维数据集或MDX语句中创建每日计算,该语句将每天进行计算并累积到任何维度。我已经能够成功地获得价值,但性能并不是我认为应该的。

我的事实表将有4个维度1,其中每日日期(时间)。我有一个公式,在这个事实表中使用了4个其他度量,需要每天计算,然后在时间维度上进行几何关联。

以下MDX语句运行良好并生成正确的值,但速度非常慢。我尝试过使用exp(sum(log + 1)) - 1并且乘法似乎表现得更好但不够好。是否有其他方法来解决这个问题,或者我的MDX语句有问题吗?

我尝试为[Calendar_Date]和[Dim_Y]。[Y ID]定义聚合,但它似乎没有使用这些聚合。

WITH
   MEMBER Measures.MyCustomCalc AS (
   (
      Measures.x -Measures.y
    ) -
    (
      Measures.z - Measures.j
    )
)
/
Measures.x

MEMBER Measures.LinkedCalc AS ASSP.MULTIPLY(
   [Dim_Date].[Calendar Date].Members,
   Measures.MyCustomCalc + 1
) - 1
SELECT
Measures.LinkedCalc ON Columns,
[Dim_Y].[Y ID].Members ON Rows
FROM
[My DB]

以上查询需要7秒才能运行以下数量的记录:

测量:98,160条记录 Dim_Date:5,479条记录 Dim_Y:42条记录

我们假设通过定义聚合,我们将执行的计算量仅为42 *天,在这种情况下最多为5479条记录。

非常感谢任何帮助或建议!

0 个答案:

没有答案