2015-10-16 59 views
1

我只有一个立方体和多个数据表。其中一个名为股票,并有下一个字段:icCube:添加计算的度量值 - 每个日期的平均库存量

日期(映射到日期维度) 公司(映射到公司层面) 产品(映射到产品维度) 金额 钱 过它,我有[测量] [库存量]作为金额的总和

然后,我需要每日期添加平均股票为总和(量)/计数(不同日期)

我曾尝试下一个选项:
CREATE CALCULATED MEMBER [Measures].[Stock average] AS 'sum([Measures].[Stock amount])/DistinctCount ([Date].[Date].[Day])'

CREATE CALCULATED MEMBER [Measures].[Stock average] AS 'sum([Measures].[Stock amount])/DistinctCount ([Rests].[Date])'

他们两人给在MDX IDE奇怪的错误的结果,并给予错误时,我试图从Excel

回答

1

查询他们发现了它。我能做到这一点是这样的:

我已经做了这样的:

CREATE CALCULATED MEMBER [Measures].[Average rests] AS 
    AVG(
     EXISTING([Date].[Date].[Day].MEMBERS) , 
     [Measures].[Rests amount] 
    ) 

要立方

添加
WITH MEMBER [Measures].[AvgTrackCost] AS 
    AVG(EXISTING([Date].[Date].[Day].MEMBERS), [Measures].[Rests amount]) 
SELECT 
    [Measures].[AvgTrackCost] on 0, 
    [Distributors].[Distributors].Members ON 1 
FROM 
    [Spot2d] 

要在MDX生成查询

2

该解决方案通过指出Oleksandr很好,但是如果你使用了很多的话,那么我认为AverageOverDays认为在简单性和性能上有点不同

  1. 创建一个计算天数不同计数的新度量。这可以通过在日期列上添加度量并使用不同的计数作为事实聚合方法来完成。假设它是[Measures]。[数据天数]。

使用是直截了当:

WITH MEMBER [Measures].[AvgTrackCost] AS 
      [Measures].[Rests amount]/[Measures].[Days With Data] 

这将如预期的情况下100%的努力,速度更快,扩展很好。

请注意,没有数据的日子不会计算在内,它与“平均日期”中的行为相同。