0

我希望在结合了以下过滤方法的 OLAP 多维数据集上使用 SQL Server Data Tools Analysis Services 创建计算成员:

元组

(
    [Enrolment Planning Actuals].[Year].&[1],
    [Enrolment Planning Actuals].[Attribute 1].&[Y],
    [Enrolment Planning Actuals].[Attribute 2].&[N],
    [Enrolment Planning Actuals].[Attribute 3].&[N],
    [Measures].[Count]
)

设置为单个成员

SUM(    
    EXCEPT(
        [Enrolment Planning Actuals].[Year].[Year],
        {
            [Enrolment Planning Actuals].[Year].&[1]
        }
    ),
    [Measures].[Count]
)   

[Enrolment Planning Actuals].[Year]具有值 1、2、3、4的成员,我基本上希望计算的成员提供[Measures].[Count]过滤:

  • 包括所有[Enrolment Planning Actuals].[Year]成员,除了[Enrolment Planning Actuals].[Year].&[1]
  • [Enrolment Planning Actuals].[Attribute 1].&[Y]
  • [Enrolment Planning Actuals].[Attribute 2].&[N]
  • [Enrolment Planning Actuals].[Attribute 3].&[N]

我认识到该SUM功能可能是尝试组合这些过滤器的错误方法。

到目前为止,我发现对文章MDX Calculated member filter by dimension attribute的公认答案非常有帮助。

也许从根本上说,这种思维方式是有问题的。欢迎提出建议,谢谢。

4

2 回答 2

2

你快到了,伙计。

只是扩展 and 的概念settuple并添加crossjoinor的概念*,这应该是可行的:

WITH MEMBER Measures.YourCalculatedMember AS

SUM(
    EXCEPT(
            [Enrolment Planning Actuals].[Year].[Year],
            {
                [Enrolment Planning Actuals].[Year].&[1]
            }
          ) *
    [Enrolment Planning Actuals].[Attribute 1].&[Y] *
    [Enrolment Planning Actuals].[Attribute 2].&[N] *
    [Enrolment Planning Actuals].[Attribute 3].&[N]
    ,
    [Measures].[Count]
  )
于 2015-07-17T06:13:03.347 回答
1

我认为您甚至可以删除度量并在属性层次结构之一上创建成员。然后你可以对它使用不同的措施:

WITH MEMBER [Enrolment Planning Actuals].[Attribute 1].[YourCalculatedMember] AS
SUM(
    EXCEPT(
            [Enrolment Planning Actuals].[Year].[Year],
            {
                [Enrolment Planning Actuals].[Year].&[1]
            }
          ) *
    [Enrolment Planning Actuals].[Attribute 1].&[Y] *
    [Enrolment Planning Actuals].[Attribute 2].&[N] *
    [Enrolment Planning Actuals].[Attribute 3].&[N]
  )
SELECT
   {
     [Measures].[Count],
     [Measures].[Revenue]
   } on 0,
   {  
     [Enrolment Planning Actuals].[Attribute 1].[YourCalculatedMember], 
     [Enrolment Planning Actuals].[Attribute 1].&[Y]
   } on 1
FROM [YourCube];
于 2015-07-17T22:27:21.657 回答