我在 Analysis Services 中有一个计算度量,它根据过去三个时期返回一个位置的平均每日收入。期间是位置定义的时间长度,因此一个位置可能会每月关闭其期间,而另一个位置可能会每季度关闭其期间。
要返回平均每日收入,我有一个 factPeriods 表,它返回一个时期的收入,以及该时期的天数。以下 MDX 在位置级别返回正确的值,([Measures].[Days In AR Charges]) / ([Measures].[Days In AR Days])。
问题是当我汇总到更高级别时,比如说我想按州返回平均每日收入,计算不正确,因为它首先汇总了对这些时期有贡献的天数,然后除以。我希望首先在最低级别进行平均,然后将每日平均收入的结果相加。这是发生的事情与我想要发生的事情的示例。
假设我只有两个地点,A 和 B。A 每月关闭,B 每季度关闭。最后关闭的结果是:
位置/收入/贡献收入的天数
地点 A / $3000 / 30 天地点 B / $1800 / 90 天
地点 A 每天产生 100 美元的收入,地点 B 每天只产生 20 美元的收入。我的总金额应该是每天 120 美元。相反,它将返回 40 美元/天。以下是计算级别发生的情况。
我希望公式采用伪代码 SUM(([Measures].[Days In AR Charges]) / ([Measures].[Days In AR Days]))
但它实际上给了我 (SUM([Measures].[Days In AR Charges])) / (SUM([Measures].[Days In AR Days]))
任何人都可以帮我确定适当的公式以使这项工作按需要进行吗?它最终应该是 100 美元/天 + 20 美元/天,而不是 4800 美元/120 天。我怀疑我可能需要使用后代,但我不清楚我将如何使用它们,或者这是否是正确的方向。