上个月的 ssas mdx 查询
ssas mdx query for previous previous month
我目前正在构建一个 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
最快的解决办法是在TAIL之前使用HEAD函数,但这只有在这段时间非空值的情况下才可以接受:
head(tail(nonempty([service date].[quarter no - month no].members),2),1)
但实际上,如果您让用户有机会使用此类过滤器在进一步的 SSRS 报告中按某些维度过滤数据,那么即使您上个月的第一个解决方案也可能会失败。至于我以前的经验,最好将月份的参数'Last'设置为附加column/property,然后:作为当前[服务日期]维度的附加维度层次结构。
如果是完全动态的行为(当上个月的报告与报告不同时),请指定上个月可接受的行为。月份为空:
- 我们需要显示 empty/zero 值
- 我们需要取之前的非空成员(上面是这样实现的)
我目前正在构建一个 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
最快的解决办法是在TAIL之前使用HEAD函数,但这只有在这段时间非空值的情况下才可以接受:
head(tail(nonempty([service date].[quarter no - month no].members),2),1)
但实际上,如果您让用户有机会使用此类过滤器在进一步的 SSRS 报告中按某些维度过滤数据,那么即使您上个月的第一个解决方案也可能会失败。至于我以前的经验,最好将月份的参数'Last'设置为附加column/property,然后:作为当前[服务日期]维度的附加维度层次结构。
如果是完全动态的行为(当上个月的报告与报告不同时),请指定上个月可接受的行为。月份为空:
- 我们需要显示 empty/zero 值
- 我们需要取之前的非空成员(上面是这样实现的)