问题
下面的 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)来计算所有指定凭证的平均毛利润:
例如 (11.63 + 37.7063636363636)/2 = 24.668
然而,为了获得正确的数字,它应该将 Total Gross Profit 中的值相加并除以原始数据的行数:
例如 (23.26 + 414.77)/13 = 33.69
(在多维数据集中,总毛利和平均毛利是在毛利度量/列上使用 sum 和 avg 函数定义的度量)。
有没有办法解决问题以获得正确的号码?
非常感谢您的任何建议。