我将它用于LastYTD
ROUND(
SUM(YTD(ParallelPeriod([Invoice Date].[Date Hierarchy].[Year]
, 1
, [Invoice Date].[Date Hierarchy].CurrentMember))
, [Measures].[Revenue]
),
2
)
现在我需要去年,而不是YTD。怎么做?
更新:
II尝试过以下但仅在年级显示结果。
ROUND(
SUM(YTD(ParallelPeriod([Invoice Date].[Date Hierarchy].[Year]
, 1
, ClosingPeriod([Invoice Date].[Date Hierarchy].[Year],
[Invoice Date].[Date Hierarchy].CurrentMember)
)
)
, [Measures].[Revenue]
),
2
)
SCREENSHOT
查询2:
ROUND(
SUM(ParallelPeriod([Invoice Date].[Date Hierarchy].[Year]
, 1
, [Invoice Date].[Date Hierarchy].CurrentMember)
, [Measures].[Revenue]
),
2
)
结果:
UPDATE3:
这就是我需要的:
答案 0 :(得分:1)
ROUND(
SUM(ParallelPeriod([Invoice Date].[Date Hierarchy].[Year]
, 1
, [Invoice Date].[Date Hierarchy].CurrentMember)
, [Measures].[Revenue]
),
2
)
我刚从表达式中删除了YTD函数。在我的数据库中,这个表达式工作正常,除了我们在日期维度上有一些空白的情况(例如:2009年,2011年成员存在于级别年份,但不存在于2010年成员)。
/ <强> * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *** 强> /
更新版本: (通过评论:本年度的所有成员必须包含前一年的价值)
(
ClosingPeriod(
[Invoice Date].[Date Hierarchy].[Year]
,[Invoice Date].[Date Hierarchy].CurrentMember
).lag(1)
, [Measures].[Revenue]
)
P.S。此表达式尚未经过测试。
答案 1 :(得分:1)
我能够通过2次计算
完成此操作CREATE MEMBER CURRENTCUBE.[MEASURES].[Revenue FY]
AS SUM((ANCESTOR([Date].[Y-Q-M-D].Currentmember, [Date].[Y-Q-M-D].[Year])), [Measures].[Revenue]),
FORMAT_STRING = "#,#",
VISIBLE = 1 ;
CREATE MEMBER CURRENTCUBE.[MEASURES].[Revenue FY LY]
AS (PARALLELPERIOD( [Date].[Y-Q-M-D].[Year], 1,[Date].[Y-Q-M-D] ),[Measures].[Revenue FY]),
FORMAT_STRING = "#,#",
我希望这可以帮到你。