我如何使用和SSAS维度构建一个通用的年初至今度量?

我如何使用和SSAS维度构建一个通用的年初至今度量?,ssas,cube,dimensions,Ssas,Cube,Dimensions,我试图模仿Russo、Ferrari和Webb在Expert Cube Development中提出的方法来构建一个维度,该维度报告了一年来Cube中所有度量值的最新版本,但我似乎无法让它工作。我希望这里的人能有这方面的经验,或者能给我指出一个更好的方法,告诉我哪里出了问题 我正在尝试将其示例多维数据集的计算部分中出现的这段MDX代码转换为我的多维数据集: SCOPE ( [Date].[Calendar].MEMBERS, [Date].[Date].MEMBERS ); ( [Date

我试图模仿Russo、Ferrari和Webb在Expert Cube Development中提出的方法来构建一个维度,该维度报告了一年来Cube中所有度量值的最新版本,但我似乎无法让它工作。我希望这里的人能有这方面的经验,或者能给我指出一个更好的方法,告诉我哪里出了问题

我正在尝试将其示例多维数据集的计算部分中出现的这段MDX代码转换为我的多维数据集:

SCOPE ( 
[Date].[Calendar].MEMBERS,
[Date].[Date].MEMBERS ); 

( [DateTool].[Aggregation].[Year To Date] )
      = Aggregate(
                 { [DateTool].[Aggregation].DefaultMember } *
                   PeriodsToDate(
                                [Date].[Calendar].[Year],
                                [Date].[Calendar].CurrentMember
                 ) );

END SCOPE;
以下是我的版本:

 SCOPE (
 [Time Order Date].[Fiscal Date].MEMBERS,
 [Time Order Date].[Date].MEMBERS
 );

 (     [Time Calculations].[Calculation].[Year to Date] )
      = Aggregate(
                 { [Time Calculations].DefaultMember } *
                   PeriodsToDate(
                                [Time Order Date].[Fiscal Date].[Year],
                                [Time Order Date].[Fiscal Date].CurrentMember
                 ) );

 END SCOPE;
这与Russo等人的版本不同,只是将我们的时间维度名称替换为他们的时间维度名称

FWIW,我根据Russo等人的DateTool维度构建了一个时间计算维度

您在上面看到的特定公式返回值!当我试图查看它时,我不太明白它可能有什么问题

FWIW,如果我没有尝试执行聚合,而是在上面简单地分配值10,即我定义如下的度量:

 (     [Time Calculations].[Calculation].[Year to Date] )
      = 10
 ;
,只是为了查看正在进行的替换,我得到值20。我不知道发生了什么,静态值的两倍


任何帮助都将不胜感激-sw

计算是时间计算维度中唯一的属性吗?在范围语句之前,是否已将此属性的成员定义为defaultmember?你的时间维度看起来如何?是的,计算是时间计算中唯一的属性。我已经将Real Value定义为设计器中定义的时间计算的defaultmember,而不是MDX脚本…这是否重要?。关于时间维度,我应该包括多少细节。它具有日期主键以及会计和日历层次结构。