首页 > 解决方案 > 年初至今的 MDX 计算量度

问题描述

我有一个 OLAP 多维立方体,它最简单的形式包含:

要求是用户希望能够比较从每年年初到特定日期的总 NetAmount。可以通过在“日”和“月”字段上设置过滤器来选择日期。例如,用户希望查看以下总价值:

解决此要求的最佳方法是什么?

标签: ssasmdxolap

解决方案


您可以使用 YTD 函数创建计算成员,如下所示:

CREATE MEMBER CURRENTCUBE.[Measures].[NetAmountYTD]
as

Aggregate(YTD ([Time].[Time].CurrentMember), [Measures].[NetAmount])

您还可以创建实用程序维度,例如 TimeUtility,并添加 YTD 成员,并像这样定义它:

Scope([TimeUtility].[YTD]);
    this = Aggregate(YTD ([Time].[Time].CurrentMember), [TimeUtility].[DefaultMember]);
End Scope;

这样,无论您针对 [TimeUtility].[YTD] 进行何种度量,它都会为您提供该度量的年初至今,而不仅仅是 NetAmount,因此它将是通用解决方案。


推荐阅读