How to improve the performance of a Dynamic Subset?

Posted by Sasidaran MR on December 18, 2017

As a TM1 consultant, one of our challenging tasks is improving performance.

Often dynamic subsets cause memory leakage and in turn affect performance. Let’s discuss, how to convert dynamic subset to static subset with an example.

For Example, the “account1” dimension in SData instance has dynamic subset called “All Members”. Any operation done in the dynamic subset like delete/insert, will make subset has static. The below snippet of code to covert the dynamic subset to static (TI process can be downloaded in the bottom of the blog).




Before running the above code After running the above code



If you are using TM1 10.2.2 or above, the same operation can be done using “SubsetMDXSet” (undocumented function). The syntax of the function is 

SubsetMDXSet( dimension, subsetname, [ MDX_expression]); 






Parent Dimension Name 


Subset Name 


MDX expression to update the subset. It will recreate the subset 

If you do not use this parameter, include an empty string. 



SubsetMDXSet ( ‘Account1’ , ‘All Members’ , ‘’ ) ;


 Download the Ti

Topics: Technical, Business Intelligence, PlanningAnalytics, TM1