Ssas 从度量值计算中排除默认成员

Ssas 从度量值计算中排除默认成员,ssas,mdx,Ssas,Mdx,我构建了一个包含门票销售信息的立方体 我有一个度量值,它是一个与事实表不同的客户数量计数。 每次演出的未售出门票记录在事实表中,并分配一个“特殊”客户编号,该编号指的是虚拟客户记录 我希望客户编号的不同计数不包括用于未售出车票的“特殊”客户编号 到目前为止,我最好的尝试是创建一个计算过的度量,从结果中排除单个客户编号。对于下面的查询,数字是正确的 WITH SET [RealPeople] AS Filter([Customers].[CustomerNumber].CHILDREN,

我构建了一个包含门票销售信息的立方体

我有一个度量值,它是一个与事实表不同的客户数量计数。 每次演出的未售出门票记录在事实表中,并分配一个“特殊”客户编号,该编号指的是虚拟客户记录

我希望客户编号的不同计数不包括用于未售出车票的“特殊”客户编号

到目前为止,我最好的尝试是创建一个计算过的度量,从结果中排除单个客户编号。对于下面的查询,数字是正确的

WITH SET [RealPeople] AS
    Filter([Customers].[CustomerNumber].CHILDREN, 
           [Customers].[CustomerNumber].CurrentMember.MemberValue <> -100)

MEMBER Measures.[Num Real Households] AS
    DISTINCTCOUNT([RealPeople])

SELECT {Measures.[Num Households], Measures.[Num Real Households]} ON 0,
[Location].[PostalCode].CHILDREN ON 1
FROM Tickets
将[RealPeople]设置为
筛选器([Customers].[CustomerNumber]。子项,
[客户][CustomerNumber].CurrentMember.MemberValue-100)
成员度量。[Num Real houses]作为
DISTINCTCOUNT([RealPeople])
在0上选择{Measures.[Num houses],Measures.[Num Real houses]},
[位置][PostalCode]。1上的子项
从票上
但是,如果用户查询的维度与包含客户编号的维度相同,则这不起作用。当这种情况发生时,[Num Real houses]度量返回结果中每个属性成员的不同客户编号总数,而不是为每个属性成员提供小计

我通过创建一个只包含客户编号的隐藏维度来解决这个问题。我用这个维度来表示真实人物集。没有人会查询该维度,因此我避免了上述问题


有更好的方法吗?

我认为最好的方法是简单的数学。将这个特殊客户的数量从不同的计数度量中分出来(这只起作用,因为我假设在同一个家庭中,你永远不会有一张“未售出”的票作为已售出的票)

WITH 
  MEMBER Measures.[Num Real Households] AS Measures.[Num Households] 
                        - (Measures.[Num Households],[Customers].[CustomerNumber].&[-100])
SELECT {Measures.[Num Households], Measures.[Num Real Households]} ON 0
,[Location].[PostalCode].CHILDREN ON 1
FROM Tickets