MDX新手:如何基于非唯一的中间级别进行筛选/排除

MDX新手:如何基于非唯一的中间级别进行筛选/排除,mdx,Mdx,我有一个维度ItemSales,它的层次结构类似于Site->ItemType->Item ItemType不是唯一的。网站可以销售相同的ItemType。 我想从总数中排除某一类型(例如未知) 这一定很容易,但我被卡住了。这似乎是除了将工作,但就我所能做到的,除了要求我列举每一个网站 除了([ItemSales].[Sites].[ItemType].Members],{[ItemSales].[site1].[unknown],[ItemSales].[site2].[unknown]})

我有一个维度ItemSales,它的层次结构类似于Site->ItemType->Item

ItemType不是唯一的。网站可以销售相同的ItemType。 我想从总数中排除某一类型(例如未知)

这一定很容易,但我被卡住了。这似乎是除了将工作,但就我所能做到的,除了要求我列举每一个网站

除了([ItemSales].[Sites].[ItemType].Members],{[ItemSales].[site1].[unknown],[ItemSales].[site2].[unknown]})

如果我只想在站点级别进行聚合,这也没有帮助

我看到的过滤器示例集中在度量的数字过滤器上。你能根据一个成员的名字或者我们称之为键值的东西来过滤它从列中得到的值吗


很抱歉问了这么简单的问题,但我读得越多,困惑就越深

不确定这是解决问题的最佳方法,但您可以使用()函数使用成员的.name来执行某些操作,以保留所有非“未知”的[ItemType]:

Filter( 
  [ItemSales].[Sites].[ItemType].Members, 
  [ItemSales].[Sites].currentMember.name <> 'Unknown' 
)
过滤器(
[ItemSales].[Sites].[ItemType]。成员,
[ItemSales].[Sites].currentMember.name“未知”
)

谢谢。这正是我想要的。现在我只需要了解它是如何工作的。