0
votes

I have 2 measures:

  1. Sales Value
  2. Sales Value LY (calculated measure)

and a time filter with single month member and YTD formula.

If i make simple PerformancePoint report like so:

Report definitions

It shows up correctly like this when single month is selected from the time filter:

Report with single month selected

But when i try the YTD formula from the time filter:

Sales LY lost

the calculated measure is lost from the report.

Any ideas?

2
Could you show the definition of your YTD calculation?FrankPl
Using the simple YTD, from the code samples here: technet.microsoft.com/en-us/library/ff701696.aspxuser1800552
How is the Sales Value LY defined?FrankPl
Theres calculated NULL column in the datasource named Sales Amount LY, which is then scoped: scope ({Measures.[Sales Value LY]}); this = (PARALLELPERIOD([Time].[Year - Month - Date].[Month], 12,[Time].[Year - Month - Date].CURRENTMEMBER),[Measures].[SALES AMOUNT]); end scope; user1800552

2 Answers

0
votes

I would try to change the ParallelPeriod(Month, 12) to ParallelPeriod(Year, 1) in your measure definition:

scope ({Measures.[Sales Value LY]});
   this = (PARALLELPERIOD(
            [Time].[Year - Month - Date].[Year],
            1,
            [Time].[Year - Month - Date].CURRENTMEMBER
          ),
          [Measures].[SALES AMOUNT]);
end scope;

ParallelPeriod only works properly if the current period is below or at the level stated as the first argument.

EDIT

Maybe changing the expression like proposed at http://sqlblog.com/blogs/mosha/archive/2007/01/13/multiselect-friendly-mdx-for-calculations-looking-at-current-coordinate.aspx would help:

scope ({Measures.[Sales Value LY]});
   this = Sum(EXISTING [Time].[Year - Month - Date].[Day].Members,
            (PARALLELPERIOD(
              [Time].[Year - Month - Date].[Year],
              1,
              [Time].[Year - Month - Date].CURRENTMEMBER
            ),
            [Measures].[SALES AMOUNT]
            )
          );
end scope;

I was guessing the name of your day level, maybe you have to adapt that.

0
votes

Have a workaround thus:

built-in YTD semiadditive function in PPS time intelligence can be written also like this:

year.firstmonth.parent:year.month.parent

Dunno if the YTD function is buggy or whatnot, but this was the quick way to get the parallel YTD values..