MDX-平均功能在';其中';添加过滤器

MDX-平均功能在';其中';添加过滤器,mdx,average,Mdx,Average,问题 下面我的MDX没有返回我预期的平均毛利润数字 MDX select NON EMPTY {Hierarchize({[New Repeat].[New Repeat].[New]})} ON COLUMNS, NON EMPTY {Hierarchize({[Measures].[Order Count], [Measures].[Total Gross Profit], [Measures].[Average Gross Profit]})} ON ROWS from [USAOrder

问题

下面我的MDX没有返回我预期的平均毛利润数字

MDX

select NON EMPTY {Hierarchize({[New Repeat].[New Repeat].[New]})} ON COLUMNS,
NON EMPTY {Hierarchize({[Measures].[Order Count], [Measures].[Total Gross Profit], [Measures].[Average Gross Profit]})} ON ROWS
from [USAOrders]
where {({{[Voucher Code].[ABC], [Voucher Code].[DEF]}})}
返回:

新的重复=新的

订单数量=13

毛利润总额=438.03

平均毛利润=24.668

(平均毛利润应为438.03/13=33.69)

数字是如何推导的

从此MDX派生的SQL返回2行:

new repeat voucher_code | order_count | total_gross_profit | avg_gross_profit    

       "ABC"                    2                23.26      11.63                
       "DEF"                   11               414.77      37.7063636363636
因此,从数字上看,MDX计算出所有指定凭证的平均毛利,方法是将每个凭证的平均毛利相加,然后除以不同凭证的行数(在本例中为2):

e、 g.(11.63+37.70636)/2=24.668

鉴于,为了获得正确的数字,应将总毛利中的值相加,然后除以原始数据中的行数:

e、 g.(23.26+414.77)/13=33.69

(在多维数据集中,总毛利和平均毛利是使用毛利度量/列上的sum和avg函数定义的度量)

有没有办法解决问题以获得正确的号码


非常感谢您的建议。

您的MDX非常简单。它只是从立方体中提取数字,而不是以任何方式调整它们。如果存在错误,则该错误必须出现在OLAP多维数据集中的agregation方法或度量计算中

我相信您希望使用
SOLVE\u ORDER
命令来指示多维数据集先执行计算以获得总毛利,然后进行平均计算。对不起,我不能给你确切的语法只是插件;你必须阅读文档