MDX 计算成员维度上下文

MDX calculated member dimension context

我有以下计算成员代表 "overstocked" 产品的数量:

WITH 
    MEMBER [Measures].[Overstocked Items Count] AS 
        FILTER(
            [Items].[Item No].CHILDREN,
            [Measures].[Overstocked Qty] > 0
        ).COUNT

除了 Items 维度本身之外,它适用于链接到度量值组维度的任何链接,原因很明显。有没有一种方法可以创建一个计算成员来尊重它在其中进行评估的上下文?所以基本上如果这个成员是根据项目组代码评估的,我需要这些组的项目计数,而不是整个项目集。

EXISTING 是一个有用的关键字,可以将当前上下文添加到您的度量中:

WITH 
    MEMBER [Measures].[Overstocked Items Count] AS 
        FILTER(
            EXISTING([Items].[Item No].CHILDREN),
            [Measures].[Overstocked Qty] > 0
        ).COUNT

EXISTING 当您想了解来自 相同维度 中不同层次结构的成员时非常有用。例如假设您从国家层次结构(地理维度)中选择了 U.S.A,并且您需要从也是地理维度一部分的 stateCounty 层次结构中计算 state/county 成员,那么 EXISTING 是正确的选择.

如果你想跨维度,比如你选择了 U.S.A 并且你想从与 U.S.A 相关联的客户维度计算客户,那么我不会认为 EXISTING 可行 - 您需要探索 EXISTSNONEMPTY.