MDX Scope 获取分母

MDX Scope to get denominator

我有一个 SSAS 多维立方体,我正在尝试使用范围语句计算查询的分母。

我正在尝试将所有商店的所有销售额的总价值分配给度量 "Total SalesCumulative"。我希望它保持为总值,而不是在枢轴 table 中被分割。名为 Total Sales 的度量汇总了每家商店的所有销售额。我已经了解了以下内容,但这只是 returns 每家商店的价值,并显示与总销售额相同的价值。

 SCOPE ([Measures].[Total SalesCumulative],[Dim Store].[Store Name].members);
 THIS = ([Dim Store].[Store Name].[All],[Measures].[Total Sales]);
 END SCOPE;

有人对我如何修改有任何建议吗?

我已经在 Adventure Works 数据库中检查了您的公式,它似乎是正确的。可以肯定的是,您可以在 SSMS 中检查通过查询得到的结果(不进行范围分配):

with member measures.[All Order Count] as
([Measures].[Internet Order Count],[Product].[Model Name].[All Products] ) 

select {[Measures].[Internet Order Count] ,measures.[All Order Count] } on 0,
[Product].[Model Name].members on 1
from [Adventure Works]

  1. 您在更改后运行查询之前是否尝试过清算现金?

  2. 其次,脚本中可能还有一些其他范围分配,影响相同的度量和维度并覆盖您的公式,因为最后一个范围分配获胜。

尝试将 FREEZE(THIS) 添加到您的范围语句中,以检查它是否会更改数字:

SCOPE ([Measures].[Internet Order Count],[Product].[Model Name].members);
 THIS = ([Product].[Model Name].[All Products] , [Measures].[Internet Order Count]) ;
FREEZE(THIS);
 END SCOPE;