TI performance during hierarchy unwind
Posted: Tue Aug 09, 2016 8:51 am
Hi All,
I'm experiencing a slow running TI process when removing a hierarchy from a dimension, during it's update.
The way I am doing this, is I am creating an MDX based subset as a source for the TI, and then simply deleting each item the subset returns. I am trying to make this a little more recyclable so I have the following MDX:
{TM1FILTERBYLEVEL( {TM1SUBSETALL( [' | sDimName | '] )}, 1,2,3,4,5,6,7,8,9,10 ) }
I've added 1..10 levels to represent the various levels across the dimensions in my model.
For smaller dimensions the TI runs very quickly, but for others which have about 300-400,000 elements it seems to take an age, and I am unsure whether the performance hit is down to:
a) the MDX statement above,
b) the DimensionDeleteElement( MyDimension, TheElementsFromTheSourceSubset),
c) the compiling actioned when the metadata has deleted the elements before moving on to completion (no Data or Epilog code).
Before moving on to test each and see whether I need to perhaps add attribute levels to identify parents from children, I wondered what your experiences of unwinding hierarchies were with respect to dimensions above a few hundred thousand elements, and whether there is a faster way of accomplishing what I need ?
Finally, is there a smarter way I can build the MDX to work out the levels I need rather than "hard-code" the 10 levels above ?
Thankyou
Ajay
I'm experiencing a slow running TI process when removing a hierarchy from a dimension, during it's update.
The way I am doing this, is I am creating an MDX based subset as a source for the TI, and then simply deleting each item the subset returns. I am trying to make this a little more recyclable so I have the following MDX:
{TM1FILTERBYLEVEL( {TM1SUBSETALL( [' | sDimName | '] )}, 1,2,3,4,5,6,7,8,9,10 ) }
I've added 1..10 levels to represent the various levels across the dimensions in my model.
For smaller dimensions the TI runs very quickly, but for others which have about 300-400,000 elements it seems to take an age, and I am unsure whether the performance hit is down to:
a) the MDX statement above,
b) the DimensionDeleteElement( MyDimension, TheElementsFromTheSourceSubset),
c) the compiling actioned when the metadata has deleted the elements before moving on to completion (no Data or Epilog code).
Before moving on to test each and see whether I need to perhaps add attribute levels to identify parents from children, I wondered what your experiences of unwinding hierarchies were with respect to dimensions above a few hundred thousand elements, and whether there is a faster way of accomplishing what I need ?
Finally, is there a smarter way I can build the MDX to work out the levels I need rather than "hard-code" the 10 levels above ?
Thankyou
Ajay