Average icCube:添加计算的度量值-每个日期的平均库存
我只有一个多维数据集和几个数据表。其中一个命名为Stocks并具有下一个字段: 日期(映射到日期维度) 公司(映射到公司维度) 产品(映射到产品维度) 数量 钱 在这上面,我有[衡量][股票数量]作为总金额 然后,我需要将每个日期的平均库存添加为总和(金额)/计数(不同日期) 我尝试了下一个选项:Average icCube:添加计算的度量值-每个日期的平均库存,average,iccube,iccube-reporting,Average,Iccube,Iccube Reporting,我只有一个多维数据集和几个数据表。其中一个命名为Stocks并具有下一个字段: 日期(映射到日期维度) 公司(映射到公司维度) 产品(映射到产品维度) 数量 钱 在这上面,我有[衡量][股票数量]作为总金额 然后,我需要将每个日期的平均库存添加为总和(金额)/计数(不同日期) 我尝试了下一个选项: 将计算成员[Measures].[Stock average]创建为“sum([Measures].[Stock amount])/DistinctCount([Date].[Date].[Day])
将计算成员[Measures].[Stock average]创建为“sum([Measures].[Stock amount])/DistinctCount([Date].[Date].[Day])”
或
将计算成员[Measures].[Stock average]创建为“sum([Measures].[Stock amount])/DistinctCount([Rests].[Date])”
它们都在MDX IDE中给出了奇怪的错误结果,并且在我试图从Excel查询它们时给出了错误。我可以这样做:
CREATE CALCULATED MEMBER [Measures].[Average rests] AS
AVG(
EXISTING([Date].[Date].[Day].MEMBERS) ,
[Measures].[Rests amount]
)
我是这样做的:
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 Builder中查询,Oleksandr指出的解决方案很好,但是如果您使用了大量的AverageOverDays,我会认为简单性和性能方面有点不同
WITH MEMBER [Measures].[AvgTrackCost] AS
[Measures].[Rests amount] / [Measures].[Days With Data]
这将在100%的场景中正常工作,速度更快,扩展性更好
请注意,没有数据的天数不计算在内,这与Avg中的行为相同