假设我有一个客户的维度,我想得到所有那些产生收入超过100的客户......你如何在MDX中做到这一点?我使用像
这样的过滤器创建了一个成员Filter([Dim Customer].[Id].Members, [Measures].[Revenue] > 150)
然而,它没有按预期工作。你怎么经常绕过这个?我希望看到1行,有2列,所有收入和来自客户的收入超过150.我的问题是因为我不希望客户行显示在行轴上 - 它是不考虑每个客户的过滤器,而是整体[测量]。[收入]。
答案 0 :(得分:1)
请记住,Filter() - 函数返回一个集合,即收入超过150的所有客户的集合。然后,您需要指定要在此集合上聚合某些内容。这意味着您计算出的度量应该是这样的:
WITH MEMBER [Measures].[Revenue for Customers over 150] AS
Aggregate(
Filter(Existing ([Dim Customer].[Id].Members),
[Measures].[Revenue] > 150),
[Measures].[Revenue]
)
答案 1 :(得分:0)
filter()函数应该:
SELECT [Measures].[Internet Sales Amount] ON 0,
filter(
[Customer].[Customer].[Customer].MEMBERS
, [Measures].[Internet Sales Amount] > 150
) ON 1
FROM [Adventure Works]
大约一半的客户被过滤掉了。
菲利普,