2012-02-17 46 views
0

我试图创建一个计算成员返回一个字符串的值,当只有一个不同的孩子,“多”不是一个独特的孩子,没有孩子时是“无”。 具体而言,我无法返回具有不同的子名称的情况。这里是我的计算度量:MDX - 计数(.children)> 0,但.FirstChild.Name为空

WITH MEMBER [Measures].[SSN] AS 
    CASE 
    WHEN DISTINCTCOUNT([Item].[Season Code Name].Children) = 0 
     Then 'None' 
    WHEN DISTINCTCOUNT([Item].[Season Code Name].Children) = 1 
     Then [Item].[Season Code Name].FirstChild.Name --.Value is null 
    ELSE 
     'Multi' 
    END 

该否则返回一个空白,但如果我使用[项目] [季节代码名称]的交叉连接,孩子出现如预期。

我在做什么错?

在此先感谢您的帮助!

+0

好的......我认为以下工作。但是,事实证明,这只是给我维度中的第一个值,而不是当前成员的第一个孩子。 Hrmph !: [Item]。[Season Code Name] .Children.Item(1).Name – eAlchemist 2012-02-18 01:07:06

回答

1

这是一个经典的,我一直这么做:-),缺少currentMember之后的层次结构。

WITH MEMBER [Measures].[SSN] AS 
    CASE 
WHEN DISTINCTCOUNT([Item].[Season Code Name].currentmember.Children()) = 0 
    Then 'None' 
WHEN DISTINCTCOUNT([Item].[Season Code Name].currentmember.Children()) = 1 
    Then [Item].[Season Code Name].currentmember.FirstChild.Name --.Value is null 
ELSE 
    'Multi' 
END 
+0

不幸的是,那并没有做到。我应该注意到,从等级角度来看,你可以将当前成员视为自行车等级的品牌,而季节代码的名称就像是特定模型上的颜色。我想要与第一个模型相关的颜色。希望我解释得很好。 – eAlchemist 2012-02-19 08:03:46

+0

顺便说一句...感谢您的帮助。非常感谢。 – eAlchemist 2012-02-19 08:04:12

+0

我不清楚。建议的更改在= 1上给出了相同的结果 - 空 – eAlchemist 2012-02-19 08:06:58