MDX 跨维度减去度量

MDX subtract measures across dimensions

WITH 
  MEMBER CostDifference AS 
    Sum([Measures].[ExtendedCost]) - [Measures].[ExtendedCost] 
SELECT 
  NON EMPTY 
    {
      [Measures].[ExtendedCost]     
     ,CostDifference
    } ON COLUMNS
 ,NON EMPTY 
    {[Parts].[ItemDesc].MEMBERS, [Dim Date].[DateUK].MEMBERS} ON ROWS
FROM [Cube]

我正在尝试减去不同维度的度量,即 DimParts 中所有产品的 2 个日期快照(2010 年 1 月 31 日和 2010 年 2 月 28 日)

如果我从等式中删除这段代码,那么我得到的只是零 [Dim Date].[DateUK].MEMBERS

如果我使用交叉连接添加多个 dim,那么成本差异为零

e.g. ,NON EMPTY CrossJoin ( [Parts].[ItemDesc].MEMBERS ,{[Dim Date].[DateUK]} ) ON ROWS

我正在使用 SQl 服务器 2008R2

我在这里错过了什么。

这个Sum([Measures].[ExtendedCost]) - [Measures].[ExtendedCost] 将解决这个问题

[Measures].[ExtendedCost] - [Measures].[ExtendedCost] 

始终为 0

如果这个 Sum([Measures].[ExtendedCost]) 需要跨越一个完整的集合,那么您需要包括那个集合:

Sum(
  [Dim Date].[DateUK].MEMBERS
 ,[Measures].[ExtendedCost]
)