Ssas 获取分母的MDX范围

Ssas 获取分母的MDX范围,ssas,mdx,multidimensional-cube,Ssas,Mdx,Multidimensional Cube,我有一个SSAS多维多维多维数据集,我试图通过使用scope语句来计算查询的分母 我试图将度量“Total SalesCumulative”分配给所有商店的所有销售额的总值。我希望它保持为总值,而不是在透视表中被切片。被称为“总销售额”的指标汇总了每家商店的所有销售额。我已经得到了如下结果,但这只是返回每个商店的值,并显示与总销售额相同的值 SCOPE ([Measures].[Total SalesCumulative],[Dim Store].[Store Name].members);

我有一个SSAS多维多维多维数据集,我试图通过使用scope语句来计算查询的分母

我试图将度量“Total SalesCumulative”分配给所有商店的所有销售额的总值。我希望它保持为总值,而不是在透视表中被切片。被称为“总销售额”的指标汇总了每家商店的所有销售额。我已经得到了如下结果,但这只是返回每个商店的值,并显示与总销售额相同的值

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

有人对我如何修改这个有什么建议吗?

我已经在AdventureWorks数据库中检查了您的公式,它似乎是正确的。为了确保这一点,您可以在SSMS中检查下面的查询(无需进行范围分配):

  • 在进行更改后运行查询之前,您是否尝试过清除现金

  • 其次,脚本中可能还有其他一些作用域分配,它影响相同的度量和维度,并覆盖您的公式,因为最后一个作用域分配获胜

  • 尝试将冻结(此)添加到您的范围语句中,只是为了检查它是否会更改数字:

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