MDX作用域Vs与成员

MDX作用域Vs与成员,mdx,cube,Mdx,Cube,使用AdventureWorks多维数据集,如果我运行以下代码(来自MS示例): 你会得到正确的结果 但是,当我通过计算选项卡中的SCOPE命令实现类似功能时: scope ([Product].[Category], [Measures].[Internet Sales Amount]); this = aggregate ( [Date].[Fiscal].[Date].&[20080430]:[Date].[Fiscal].[Date].&[20080502] ,

使用AdventureWorks多维数据集,如果我运行以下代码(来自MS示例):

你会得到正确的结果

但是,当我通过计算选项卡中的SCOPE命令实现类似功能时:

scope ([Product].[Category], [Measures].[Internet Sales Amount]);

    this = aggregate ( [Date].[Fiscal].[Date].&[20080430]:[Date].[Fiscal].[Date].&[20080502] , [Measures].[Internet Sales Amount] );

end scope;
然后运行以下mdx查询:

SELECT
{ [Measures].[Internet Sales Amount] } ON COLUMNS,
{ [Product].[Category].Members } ON ROWS
FROM
[Adventure Works]
我得到了截然不同的结果。范围似乎忽略了日期范围或忽略了类别成员,我不确定是什么。在创建日期范围为的新范围时,我的多维数据集上也有类似的问题

有人知道示波器发生了什么吗?

使用

CREATE MEMBER CurrentCube.[Measures].[Internet Sales Amount - Range2] AS NULL;

scope ([Measures].[Internet Sales Amount - Range2]);
    this = aggregate ( [Date].[Fiscal].[Date].&[20080430]:[Date].[Fiscal].[Date].&[20080502] , [Measures].[Internet Sales Amount] );
end scope;

否则,当您引用
范围内的度量值时,可能会出现无限递归,您也在
范围内使用该度量值。

如果创建单独的度量值,例如
创建成员CurrentCube。[Measures].[Internet Sales Amount-Range2]为NULL,您会得到相同的结果吗,然后使用
范围([Measures].[internetsaleamount-Range2]);这=合计([日期][财务][日期].[20080430]:[日期].[财务].[日期].[20080502],[措施][互联网销售额]);终端范围?就是这样!我最终得到了一个无限递归。因为范围语句也包含在“this”语句中。使用虚拟测量,工作正常。非常感谢!把它作为答案贴出来,我会把它标记出来。
CREATE MEMBER CurrentCube.[Measures].[Internet Sales Amount - Range2] AS NULL;

scope ([Measures].[Internet Sales Amount - Range2]);
    this = aggregate ( [Date].[Fiscal].[Date].&[20080430]:[Date].[Fiscal].[Date].&[20080502] , [Measures].[Internet Sales Amount] );
end scope;