Ssas 去年MDX已满(非最新)
我用这个做拉斯蒂德Ssas 去年MDX已满(非最新),ssas,mdx,Ssas,Mdx,我用这个做拉斯蒂德 ROUND( SUM(YTD(ParallelPeriod([Invoice Date].[Date Hierarchy].[Year] , 1 , [Invoice Date].[Date Hierarchy].CurrentMember)) , [Measures].[Revenue] ), 2 ) 现在我需要的是去年的全部,而不是年初至今。怎么做 更新: 我已经尝试了以下内容,但它只显示了年度水平
ROUND(
SUM(YTD(ParallelPeriod([Invoice Date].[Date Hierarchy].[Year]
, 1
, [Invoice Date].[Date Hierarchy].CurrentMember))
, [Measures].[Revenue]
),
2
)
现在我需要的是去年的全部,而不是年初至今。怎么做
更新:
我已经尝试了以下内容,但它只显示了年度水平的结果
ROUND(
SUM(YTD(ParallelPeriod([Invoice Date].[Date Hierarchy].[Year]
, 1
, ClosingPeriod([Invoice Date].[Date Hierarchy].[Year],
[Invoice Date].[Date Hierarchy].CurrentMember)
)
)
, [Measures].[Revenue]
),
2
)
屏幕截图问题2:
ROUND(
SUM(ParallelPeriod([Invoice Date].[Date Hierarchy].[Year]
, 1
, [Invoice Date].[Date Hierarchy].CurrentMember)
, [Measures].[Revenue]
),
2
)
结果:
更新3:
这就是我需要的:
我刚刚从表达式中删除了YTD函数。在my DB上,此表达式可以正常工作,但日期维度中存在一些间隙的情况除外(例如:2009、2011成员存在于水平年,但不是2010成员)
/*********************************************/
更新版本:
(根据注释:本年度的所有成员必须包含上一年度的值)
p、 这个表达还没有经过测试 我通过两次计算就可以做到这一点
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 = "#,#",
我希望这能帮助你。很好。。。但问题是,我只在“总计”中看到这个值,而不是在每个记录中看到。可以到处展示吗?谢谢只需将[Invoice Date].[Date Hierarchy].CurrentMember添加到ClosingPeriod函数。仍然没有任何内容。这是截图:对不起,我的答案错了。我以后会尝试写一些不同的东西(现在我没有任何可能来写和验证我的表达)。我也尝试过这个,但它在不同的日期级别上显示不同的值…我在计算成员字段中复制了此语法,它返回错误。如果您在表单视图中添加计算,则只需要在“AS”之后的第二行中的部分。记住更改计算以添加命名语法。我的示例基于一个名为[Y-Q-M-D]的周期层次结构,该层次结构位于一个名为Date的维度中。还有一个称为“收入”的度量。您的发票日期维度是否设置为维度类型“时间”,并且您的hierarki中的属性是否设置为年、季、月和日?我刚刚用另一个多维数据集对此进行了测试,但遗憾的是,我不允许在此处发布屏幕截图,因此我无法向您显示我的透视表。实际上,您是对的。很抱歉,我不知道我可以在计算中使用脚本,我一直在使用表单视图,这就是为什么它不起作用。太好了,非常感谢!
(
ClosingPeriod(
[Invoice Date].[Date Hierarchy].[Year]
,[Invoice Date].[Date Hierarchy].CurrentMember
).lag(1)
, [Measures].[Revenue]
)
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 = "#,#",