【问题标题】:Filter Dimension values过滤维度值
【发布时间】:2012-10-14 14:16:27
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: ssas mdx dimensions cube powerpivot


    【解决方案1】:

    这是一个 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”中具有关联值。

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

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

    你也可以使用 [...]

    【讨论】:

    • 您似乎没有回答完“您也可以使用...” - 忙碌的一天?
    • 是的,我敢肯定这是忙碌的一天。我不知道我将如何完成那句话。
    【解决方案2】:

    亚历克斯,

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

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

    雅各布

    【讨论】:

      猜你喜欢
      • 2014-01-26
      • 1970-01-01
      • 1970-01-01
      • 2017-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多