上个月的ssas mdx查询

时间:2015-01-06 14:19:28

标签: ssas mdx

我正在构建一个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

1 个答案:

答案 0 :(得分:1)

最快的解决方案是在TAIL之前使用HEAD功能,但只有在此期间非空值的情况下才可接受:

head(tail(nonempty([service date].[quarter no - month no].members),2),1)

但实际上,即使您上个月的第一个解决方案可能会失败,如果您让用户有机会使用此类过滤器在其他SSRS报告中按某些维度过滤数据。至于我以前的经验,最好设置月份参数' Last'作为附加列/属性,然后:作为当前[服务日期]维度的附加维度层次结构。

如果是完全动态的行为(当上个月报告与报告不同时),请说明如果是上述可接受的行为。月是空的:

  1. 我们需要显示空/零值
  2. 我们需要采用之前的非空成员(这种方式在上面实现)