How to improve the performance of a Dynamic Subset?

[fa icon="calendar"] December 18, 2017 / by Sasidaran MR

Sasidaran MR

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: Business Intelligence, TM1, PlanningAnalytics, Technical

Sasidaran MR

Written by Sasidaran MR

Sasidaran (Sasi) is a Sr Developer & Team Lead at Octane Software Solutions; has around 11 years of experience in IT and 7 years in implementing TM1 solutions. A reliable problem solver, Sasi has worked in leadership roles across various organisations.