2

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

我想做的事情应该很简单,但我被卡住了。我要做的就是过滤我的维度,使其显示有效客户。

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

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

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

任何帮助,将不胜感激。
谢谢,-亚历克斯

4

2 回答 2

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]

将 [Measures].[Measure 1] 替换为您要查看的值,将“Measure Group”替换为您要过滤的度量组的名称。

查询返回来自 [Measure 1] 的客户名称和关联值,其中 [Is Valid] 为 TRUE,在“Measure Group”中具有关联值。

Measure Group 参数是可选的,因此如果您省略最后一个参数,则无论这些客户是否具有相关度量,您都可以获得有效客户名称的列表。

Exists MDX 函数信息的链接:http ://technet.microsoft.com/en-us/library/ms144936.aspx

您还可以使用 [...]

于 2013-06-25T03:03:18.007 回答
1

亚历克斯,

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

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

雅各布

于 2013-03-28T04:43:22.277 回答