MDX-Why simple calculated measure works much slower than real measure.
Q: My simple calculated measure works much slower than real measure. What should I do?
A: If you have calculated measure that simply redefines actual measure and you can see big performance difference, it could be that you need to define NON_EMPTY_BEHAVIOR for this calculated measure.
Lets say you created calculated measure:
CREATE MEMBER CURRENTCUBE.[Measures].[CalcMeasure] AS [Measures].[Actual Measures];
If such calculated measure is much slow, change you calc measure definition to:
CREATE MEMBER CURRENTCUBE.[Measures].[CalcMeasure] AS [Measures].[Actual Measures]
, NON_EMPTY_BEHAVIOR = '[Actual Measures]';
NON_EMPTY_BEHAVIOR property helps query optimizer to choose not to do any calculation on cells that are empty. You have to be very careful when defining this property.
Please read this article by Mosha Pasumansky before starting to use NON_EMPTY_BEHAVIOR.
Also, some additional information can be find in this MSDN forum thread.
Tags: mdx, faq, non empty, performance