Does anyone have a good formula that they have used for a custom measure in BPC to create a year over year or quarter over quarter variance calculation?
I started by looking at the standard QTD formula:
IIF([%ACCOUNTDIM%].CURRENTMEMBER.PROPERTIES("ACCTYPE")="INC",SUM(QTD(),-MEASURES.[SIGNEDDATA]),IIF([%ACCOUNTDIM%].CURRENTMEMBER.PROPERTIES("ACCTYPE")="EXP",SUM(QTD(),MEASURES.[SIGNEDDATA]),IIF([%ACCOUNTDIM%].CURRENTMEMBER.PROPERTIES("ACCTYPE")="AST",(MEASURES.[SIGNEDDATA], CLOSINGPERIOD([%TIMEDIM%].[%TIMEBASELEVEL%])),IIF([%ACCOUNTDIM%].CURRENTMEMBER.PROPERTIES("ACCTYPE")="LEQ",-(MEASURES.[SIGNEDDATA], CLOSINGPERIOD([%TIMEDIM%].[%TIMEBASELEVEL%])),-MEASURES.[SIGNEDDATA]))))
I found some MDX discussion (not within BPC) on the usage of the Parallel() function in MDX, so I tried:
IIF([%ACCOUNTDIM%].CURRENTMEMBER.PROPERTIES("ACCTYPE")="INC",SUM(QTD(ParallelPeriod( ,1)),-MEASURES.[SIGNEDDATA]),IIF([%ACCOUNTDIM%].CURRENTMEMBER.PROPERTIES("ACCTYPE")="EXP",SUM(QTD(ParallelPeriod( ,1)),MEASURES.[SIGNEDDATA]),IIF([%ACCOUNTDIM%].CURRENTMEMBER.PROPERTIES("ACCTYPE")="AST",(MEASURES.[SIGNEDDATA], ParallelPeriod(CLOSINGPERIOD([%TIMEDIM%].[%TIMEBASELEVEL%]),1)),IIF([%ACCOUNTDIM%].CURRENTMEMBER.PROPERTIES("ACCTYPE")="LEQ",-(MEASURES.[SIGNEDDATA], ParallelPeriod(CLOSINGPERIOD([%TIMEDIM%].[%TIMEBASELEVEL%]),1)),-MEASURES.[SIGNEDDATA]))))
If I got that to work I was just going to subtract [MEASURES].[QTD] from it to come up with a variance.
I couldn't get the parallel() function to work though.
Any thoughts?
[By way of background I am familiar with the process for adding custom measures and I have added a trailing twelve months calculation; periodic, QTD, and YTD natural sign measures successfully]