我正在构建一个ssas多维数据集。我需要默认值来恢复2个时间段。上个月和之前的一个月。
上个月我正在使用
tail(nonempty([service date].[quarter no - month no].members))
效果很好,但是上个月我正在努力奋斗。
有人可以帮忙吗?三江源。
更新
我在SSAS中使用此mdx作为计算,然后用作ssrs内数据集的过滤器。
我的结果目前是:
Contract Name Question TblFct Month Year
------------- ------- ------ ----- ---
New Homes How Many 600 Dec 2014
这是上个月有数据的数字,即2014年12月。我的目标是让另一个数据集按照相同的标准自动过滤,而不是最后一个非空月,我正在寻找月份在那之前。我看过滞后函数,但由于某种原因无法使它坚持下去。
我的比较数据集应该产生:
Contract Name Question TblFct Month Year
------------- ------- ------ ----- ---
New Homes How Many 450 Nov 2014
答案 0 :(得分:1)
最快的解决方案是在TAIL之前使用HEAD功能,但只有在此期间非空值的情况下才可接受:
head(tail(nonempty([service date].[quarter no - month no].members),2),1)
但实际上,即使您上个月的第一个解决方案可能会失败,如果您让用户有机会使用此类过滤器在其他SSRS报告中按某些维度过滤数据。至于我以前的经验,最好设置月份参数' Last'作为附加列/属性,然后:作为当前[服务日期]维度的附加维度层次结构。
如果是完全动态的行为(当上个月报告与报告不同时),请说明如果是上述可接受的行为。月是空的: