1

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

我正在尝试将度量“Total SalesCumulative”分配给所有商店的所有销售额的总价值。我希望它保持为总值,而不是在数据透视表中被切片。名为 Total Sales 的度量汇总了每家商店的所有销售额。我已经做到了以下,但这只是返回每家商店的值,并显示与总销售额相同的值。

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

有没有人有任何建议我可以修改这个?

4

1 回答 1

2

我已经在 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;  
于 2020-04-13T17:23:51.617 回答