MDX减去跨维度的度量

时间:2017-08-31 10:32:10

标签: ssas mdx

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个日期快照(31/1/2010和28/2/2010)

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

如果我使用交叉连接添加多个暗淡,即使成本差异为零

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

我正在使用SQl Server 2008R2

我在这里缺少什么。

1 个答案:

答案 0 :(得分:1)

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

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

始终为0

如果此Sum([Measures].[ExtendedCost])需要跨越整套,那么您需要包含该集:

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