我们正在一家物流服务提供商实施ActivePivot,我们希望建立一个视图来帮助我们找出运输速度不够快的货物,并帮助了解如何改善此关键绩效指标。我们有一个简单的MDX视图,可以显示天数内的陈旧库存以及客户的发货数量。
有没有一种简单的方法来计算按每个客户的出货量加权的陈旧库存?有没有一种方法可以计算这个加权平均值,而不考虑用于分析这个度量的维度?
下面是我们使用的MDX查询:
WITH
MEMBER [Measures].[Mean Storage Time] AS
([Measures].[Nb.DayPrestation.Started-Finished].Value / [Measures].[Nb.Prestation.Started-Finished].Value)
SELECT
NON EMPTY Order(Hierarchize({DrilldownLevel({[V_MODEL].[ALL].[AllMember]})}), ([Measures].[Mean Storage Time]), DESC) ON ROWS,
NON EMPTY {[Measures].[Mean Storage Time], [Measures].[NbP.PBK]} ON COLUMNS
FROM [OperationPrestationCube]
WHERE ([V_DESTINATION].[ALL].[AllMember], [P_STOCKAGE].[ALL].[AllMember].[true])发布于 2012-10-09 22:44:33
下面的MDX添加了一个“加权平均存储”,它等于"NbP.PBK“加权的”平均存储时间“。
WITH
MEMBER [Measures].[Weighted Mean Storage] AS
Iif(([V_MODEL].CurrentMember.Level.Ordinal = 0), [Measures].[Mean Storage Time], Iif(IsEmpty([Measures].[Mean Storage Time]), NULL,(([Measures].[Mean Storage Time] * [Measures].[NbP.PBK]) / ([V_MODEL].DefaultMember, [Measures].[NbP.PBK]))))
MEMBER [Measures].[Mean Storage Time] AS
([Measures].[Nb.DayPrestation.Started-Finished].Value / [Measures].[Nb.Prestation.Started-Finished].Value)
SELECT
NON EMPTY Order(Hierarchize({DrilldownLevel({[V_MODEL].[ALL].[AllMember]})}), ([Measures].[Mean Storage Time]), DESC) ON ROWS,
NON EMPTY {[Measures].[Mean Storage Time], [Measures].[NbP.PBK], [Measures].[Weighted Mean Storage]} ON COLUMNS
FROM [OperationPrestationCube]
WHERE ([V_DESTINATION].[ALL].[AllMember], [P_STOCKAGE].[ALL].[AllMember].[true])发布于 2012-10-09 22:45:52
您可以使用如下表达式计算加权平均值:
Sum('set on which you want to do weighted avg', 'your measure' * 'the weight') / Sum('set on which you want to do weighted avg', 'the weight')https://stackoverflow.com/questions/12801592
复制相似问题