MDX查询“有成员”和总和问题

| 我有一个查询
   WITH MEMBER [measures].[Count] AS 
   SUM(([Location].[Hierarchy].[Zone].[1].Children),[Measures].[Length])
   SELECT {[measures].[Count]} ON 0,
   {[Location].[Hierarchy].[Zone].&[1].Children} on 1
   FROM [NTAP]
我是MDX的真正初学者,但是据我了解,这应该给我列出了所有Zone 1:s子代以及所有这些儿童的总和Length的清单。问题是我得到了一个带有孩子的列表以及所有区域1:s长度的总和? 我得到这个:
1 103026769420
2 103026769420
3 103026769420
4 103026769420
但是我想得到的是这样的
1 84984958
2 9494949
3 934883
4 9458948588
位置是一个层次结构,例如: 区域儿童
1
   1
   2
   3
2
   1
   2
   3
编辑:可能应该说我与成员一起使用的原因是measure.length将在最终版本中带有Iif。但是我什至不能使它工作:( edit2:固定拼写     
已邀请:
您将获得区域1的每个孩子的区域1的所有孩子的总和。 您可以将其重写为:
WITH MEMBER [Measures].[Count] AS 
   SUM([Location].[Hierarchy].CurrentMember.Children, [Measures].[Length])
SELECT {[Measures].[Count]} ON 0,
   {[Location].[Hierarchy].[Zone].&[1].Children} on 1
FROM [NTAP]
顺便说一下,[1] <>&[1]。如果不使用&,则指定名称,并使用-键。如果您的情况是key = name,则无需担心。     
计算L> 0的子代的查询为:
WITH
MEMBER [Measures].[Count of Children with L more than 0] AS
    FILTER([Location].[Hierarchy].CurrentMember.Children,
           [Measures].[Length] > 0).COUNT
SELECT
{
    [Measures].[Count of Children with L more than 0]
} ON 0,
{
    [Location].[Hierarchy].[Zone].&[1]
} ON 1
FROM [Your Cube]
如果您选择行中的子级,那么这当然是行不通的,因为您将得到NULL,因为它们是叶子并且本身没有子级。     

要回复问题请先登录注册