1

YTD 工作正常,但我需要上一年的值。以下上一个 YTD 仅显示上一年的总金额。例如 2013 年 8 月,YTD 显示 2013 年 1 月至 8 月的 YTD 总额,Previous YTD 应显示 2012 年 1 月至 8 月的 YTD 总额。

年初至今

CREATE MEMBER CURRENTCUBE.[Measures].[YTD Amount]
 AS AGGREGATE(YTD(), [Measures].[Amount]), 
FORMAT_STRING = "$#,##0.00;-$#,##0.00", 
NON_EMPTY_BEHAVIOR = { [Amount] }, 
VISIBLE = 1 ,  ASSOCIATED_MEASURE_GROUP = 'TF - BU Transaction'; 

上一个年初至今

CREATE MEMBER CURRENTCUBE.[Measures].[Prev YTD Amount]
 AS (ParallelPeriod(
   [MF - Time].[Year - Month].[Year]
   ,1
   ,[MF - Time].[Year - Month].CurrentMember)
  , [Measures].[YTD Amount]), 
FORMAT_STRING = "$#,##0.00;-$#,##0.00", 
NON_EMPTY_BEHAVIOR = { [Amount] }, 
VISIBLE = 1 ,  ASSOCIATED_MEASURE_GROUP = 'TF - BU Transaction'; 
4

1 回答 1

0

我不确定您是否可以在 PYTD 计算中使用年初至今的计算,因为您需要并行期间之外的 YTD。

尝试:

MEMBER [Measures].[Prev YTD Amount] AS
    SUM(
            YTD(
                ParallelPeriod(
                    [MF - Time].[Year - Month].[Year], 
                    1, 
                    [MF - Time].[Year - Month].CurrentMember
                )
            ),
            [Measures].[Amount]
        )

资料来源:www.bidn.com/blogs/cprice1979/ssas/2473/fun-with-mdx-ndash-part-3-ytd-and-prior-ytd-calculations

于 2013-08-15T02:08:41.613 回答