3

[编辑:示例不完全正确]

我一直在关注这个 MDX 问题……我正在制作一个关于计费的立方体。

我有 2 个(相关)维度:budgetbill 和 month
一个度量:Amount

budgetbill date         Amount
1548632    2012-11-04   50
1548632    2012-11-23   40  <--
1548632    2012-12-16   70  <--

1724687    2012-10-02   120
1724687    2012-10-23   170
1724687    2012-10-89   200  <--

TOTAL                   310

我也有一个日期层次结构 [BB UpdateDate]

年 - 季度 - 月 - 周 - 日期

所以我需要每月的最后一笔金额,超过预算。
在上面的例子中 40 + 70 + 200 = 310

我尝试过的 mdx 代码片段之一

with member [Measures].[test] as
Sum(Tail(nonempty(Descendants([BB UpdateDate].[BB UpdateDate Hierarchy].currentmember, [BB UpdateDate].[Month])
,[Measures].[Amount]), 1),[Measures].[Amount])

select [Measures].[test] on columns
,nonempty([BB UpdateDate].[Month]) on rows
from [BudgetBill]
where {[BudgetBill].[BudgetBillNr].&[1548632],[BudgetBill].[BudgetBill].&[1724687]}

给出 120 + 170 + 200 = 490 -->不正确... 这只是一个(接近)示例,但我尝试了很多东西!

提前感谢您的帮助!!

4

1 回答 1

0

我认为这会成功

with

member [measures].[maybe] as
sum(
generate(
    Descendants([date].[BB Update Hierarchy].currentmember, [date].[BB Update Hierarchy].[month])
    ,tail(
        nonempty(Existing [date].[BB Update Hierarchy].[date], [Measures].[amount])
    ,1)
)
,[Measures].[amount])

希望这可以帮助

于 2013-05-23T21:27:45.147 回答