我知道这应该很容易,但我是MDX的新手并且无法正确使用它。我的目标是获得特定客户的平均订单成本,包括客户在层次结构中的子帐户。如果我想计算零美元订单,我可以使用下面的MDX正确地得到平均值但是我没有(它们实际上显示为空,不是零,但不要担心)。那么如何更新查询以便它只查看非空的OrderCost值?最后一行是失败的尝试。
WITH MEMBER avgcost as ([Measures].[OrderCost]/[Measures].[OrderCount])
SELECT avgcost on columns,
[Dim User].[User ID].&[381] on rows
from [OrdersCube]
//where Filter([Dim User].[User ID].All, [Measures].[OrderCost].Value <> "")
答案 0 :(得分:1)
您是否考虑过使用Avg()
功能?它默认忽略空单元格。您需要构建一个描述您想要平均的单个订单的集合(而不是一个用户的聚合OrderCost)。例如:
WITH MEMBER avgcost as Avg([Orders].Members, [Measures].[OrderCost])
SELECT
avgcost on columns,
[Dim User].[User ID].&[381] on rows
from [OrdersCube]
请参阅此处的文档:http://msdn.microsoft.com/en-us/library/ms146067.aspx