Ideal dimension order finder for TM1

How does it work?

  • Update dimensions order
  • Execute the view (e times)
  • Store the median time to refresh the view and the new memory consumption of the cube

The algorithm

Essentially what Optimus does is this: for a cube with n dimensions

  • Try all dimensions at position n. Fixate the dimension that causes the lowest memory footprint.
  • Try all left dimensions (= n-1) at position 0. Fixate the dimension that causes the lowest memory footprint.
  • Try all left dimensions (= n-2) at position n – 1. Fixate the dimension that causes the lowest memory footprint.
  • Try all left dimensions (= n-3) at position 1. Fixate the dimension that causes the lowest memory footprint.

Results