2011-02-01 26 views
0

这从my question about count from start of time遵循上。MDX计数随着时间没有具体的层次

我希望能够做到的计数,而使其基于一个DateTime层次,但有这样的一个计算度量,当你拖动一个尺寸反对它的工作原理。我现在有

与成员[措施] [承诺总计]为
总和(
[日期节电] [FY层次] [会计年度] .members(0)。[日期节电] 。[FY层次] .currentMember
,[处理方法] [承诺计数])

然后使用该计算:关于0

选择[措施] [承诺总计],[日期节电] 。[FY Hierarchy]。[财政年度] 1
从[立方]

我想有[措施]。[承诺总计]未在[日期节电]。[FY层次]建,但在计算中是独立的,然后使用日期轴在选择语句 - 即我们可以计算日历年,财年,菲什尔年/月昏暗的。

所以我想它会是这样的:

与成员[措施] [承诺总计]为
总和(
NULL:[日期节电] .currentMember
, [处理方法] [承诺计数])

然后使用计算:。

选择[措施] [承诺总计]在0
,[日期节电]。[FY层次]。[会计年度] 1
从[立方]

OR

选择[措施]。[承诺总计] 0
,[日期暗淡]。[CY层次]。[会计年度] 1
从[立方]

不知道如果我要问是可以或不可以?

回答

1

我也有过类似的问题,并解决它,如下所示:

SSAS真的不能告诉你,你在哪个层次,所以你不能这样做,因为简单地在你的榜样。然而,以下为我工作。我试着将它返工您的命名,所以检查出明显的语法错误......

这一切都在你的立方体计算脚本,您可能需要使用的,而不是“块视图”“脚本视图”。

CREATE MEMBER CURRENTCUBE.[Measures].[Commitment Total] AS NULL; 

然后在剧本后把它定义为每个层次:

SCOPE (DESCENDANTS([Date Dim].[FY Hierarchy],,AFTER));  
[Measures].[Commitment Total] = 
sum(
[Date Dim].[FY Hierarchy].[Fiscal Year].members(0):[Date Dim].[FY Hierarchy].currentMember 
, [Measures].[Commitment Count]); 
END SCOPE; 

SCOPE (DESCENDANTS([Date Dim].[CY Hierarchy],,AFTER));  
[Measures].[Commitment Total] = 
sum(
[Date Dim].[CY Hierarchy].[Calendar Year].members(0):[Date Dim].[CY Hierarchy].currentMember 
, [Measures].[Commitment Count]); 
END SCOPE; 

现在,它的行为因此,依赖于层次结构中存在的查询。请注意,如果两个层次都不在查询中,它将为NULL。