过滤器尺寸值

时间:2012-10-24 14:06:20

标签: ssas mdx dimensions cube powerpivot

我有一个主客户维度(我不维护)。我的事实表包括客户信息。当我编译多维数据集时,一切看起来都不错,通过浏览多维数据集我看到我的事实行只有具有度量值的客户。

我想做的事情应该相当简单,但我被困住了。我想要做的就是过滤我的尺寸,以便显示有效的客户。

例如,在Excel中我可以选择客户名称和我的事实值,并且我看到包含值的客户列表,但是当我单击客户列表的过滤器选项时,我看到所有客户,甚至无效。我只想看到有效的客户!

Customer维度中有一个IsValid标志,我想用它来显示有效客户。

那么,如何过滤客户维度列表以仅显示IsValid = true的客户? MDX查询?

任何帮助将不胜感激 谢谢, -Alex

2 个答案:

答案 0 :(得分:3)

这是一个应该返回所需答案的MDX查询:

SELECT [Measures].[Measure 1] ON 0,
EXISTS(
[Customer].[Customer Name].[Customer Name].MEMBERS
, [Customer].[Is Valid].[True]
, "Measure Group") ON 1 
FROM [Cube]

将[测量]。[测量1]替换为您要查看的值,并使用要过滤的测量组名称替换“测量组”。

查询返回[Measure 1]中的Customer Names和关联值,其中[Is Valid]为TRUE,其中包含“Measure Group”中的关联值。

“度量组”参数是可选的,因此您可以获取有效客户名称列表,无论这些客户是否具有相关度量,如果您不使用最后一个参数。

链接到存在MDX功能信息:http://technet.microsoft.com/en-us/library/ms144936.aspx

你也可以使用[...]

答案 1 :(得分:1)

亚历,

根据您的数据透视表将包含度量,客户表与您的事实表相关,您要过滤的度量称为[值],然后:

[Valid Customer Values] = CALCULATE([Values],dimCustomer[IsValid]="Y")

雅各