Filter MDX:以性能化的方式计算月覆盖率(库存)

Filter MDX:以性能化的方式计算月覆盖率(库存),filter,ssas,mdx,cover,Filter,Ssas,Mdx,Cover,这是我的数据集: 我想计算“覆盖月”。因此,我必须查找库存(在本例中,2016年1月=5000),然后如果当前库存(2016年1月)大于下个月的“累计销售额”,则查找未来每个月的库存。如果是,则记住值=1。今后每个月都应该这样做。在此步骤之后,应添加所有记住的值,因此结果为4(覆盖月)。库存将足以维持接下来的4个月 下一步系统应该在下个月执行此操作-每个月动态执行 我怎样才能以高效的方式做到这一点 这是正确的方式吗: Filter([TIME].[Year to Month].currentm

这是我的数据集:

我想计算“覆盖月”。因此,我必须查找库存(在本例中,2016年1月=5000),然后如果当前库存(2016年1月)大于下个月的“累计销售额”,则查找未来每个月的库存。如果是,则记住值=1。今后每个月都应该这样做。在此步骤之后,应添加所有记住的值,因此结果为4(覆盖月)。库存将足以维持接下来的4个月

下一步系统应该在下个月执行此操作-每个月动态执行

我怎样才能以高效的方式做到这一点

这是正确的方式吗:

Filter([TIME].[Year to Month].currentmember : NULL,
[Measures].[cum Sales] < [Measures].[Stock])
筛选器([TIME].[Year to Month])。当前成员:NULL,
[措施][暨销售]<[措施][库存])
?

也许有人能给我一个提示?或者我需要另一个替代公式来得到小计,然后再做另一个计算


提前感谢,Andy如果您只需要1或0,那么事情就不能简化了:

IIF(
  SUM(
    {[TIME].[Year to Month].currentmember : NULL},
     [Measures].[cum Sales]
  ) 
  < ([Measures].[Stock],[TIME].[Year to Month].&[Jan-2016]) //<<amend to the date format used in your cube
,1
,NULL
)
IIF(
总数(
{[TIME].[Year to Month].currentmember:NULL},
[措施][兼售]
) 

<([Measures].[Stock],[TIME].[Year to Month].&[Jan-2016])//为什么5月16日显示为1?累计总数为5700,大于5000。我的回答有帮助吗?我可以删除它吗?