【问题标题】:MDX Create Member using dimension filtersMDX 使用维度过滤器创建成员
【发布时间】:2014-02-26 22:49:28
【问题描述】:

我正在尝试使用维度过滤器在 MDX 多维数据集中创建度量。下面的代码有效。

CREATE MEMBER CURRENTCUBE.[Measures].[SOda] AS
(
    [Measure].[SOda_pre],
    [Case].[Outage Cause].&[CustomerA],
    [Case.[SO Filter].&[1]
)

当我将另一个客户名称添加到过滤器时,它会返回 #VALUE。以下是我尝试过的。

CREATE MEMBER CURRENTCUBE.[Measures].[SOda] AS
(
    [Measure].[SOda_pre]
    *{[Case].[Outage Cause].&[CustomerA], [Case].[Outage Cause].&[CustomerB]}
    *{[Case.[SO Filter].&[1]}
)

【问题讨论】:

    标签: sql-server-2008 mdx olap-cube


    【解决方案1】:

    您可以将成员定义为元组,就像您在第一个代码示例中所做的那样。但是您不能像在第二个代码示例中那样将成员定义为包含多个元组的集合。但是您可以使用Aggregate 函数从集合和可选的数字表达式中计算成员,如下所示:

    CREATE MEMBER CURRENTCUBE.[Measures].[SOda] AS
    Aggregate(
        {[Case].[Outage Cause].&[CustomerA], [Case].[Outage Cause].&[CustomerB]}
        *{[Case.[SO Filter].&[1]}
        ,[Measure].[SOda_pre]
    
    ) 
    

    【讨论】:

      【解决方案2】:

      从语法上讲,表达式不能是(度量)成员。无论您在哪里将表达式暴露给另一个轴,它都会产生 2 个结果:一个针对每个客户。

      您能否详细说明客户 A 和 B 的过滤过程?

      菲利普,

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-17
        • 2018-03-28
        • 1970-01-01
        • 2017-03-08
        • 1970-01-01
        相关资源
        最近更新 更多