rmexcel wrote:I want to work in excel, could be formulas or VBA.
The problem with this approach is that if you start to develop a number of reports, each requiring the same list of accounts, then your maintenance exercise grows proportionally to the number of reports. It is probably inevitable that you will need to change the list of accounts and every time you will need to alter X number of reports rather than one subset inside the TM1 instance. Using active forms and dynamic subsets looks like your preferred approach given what you've said so far.
rmexcel wrote:The reason why I do not want a dynamic subset, is because I don't want to keep creating subsets for each report I create. This will just mess up the TM1 database with extra junk.
Further to my comment above, if you can see that subsets are useful and not junk, then you can direct your maintenance effort into managing the proliferation of subsets in your dimensions. Lots of people use a prefixing strategy, e.g. putting 'Sys' or 'z' or using the '}' character to hide the subset allow people to group up system or report subsets separately from those that are user-defined.
rmexcel wrote:I want all accounts, including the lowest level, but not the second to lowest level. Is there a way to make the level 0 accounts roll into the level 2 accounts?
If you go down the active form/ dynamic subset route then the TM1FilterByLevel function may help:
Code: Select all
{TM1FILTERBYLEVEL( {TM1SUBSETALL( [YOUR_ACCOUNT_DIMENSION_NAME] )}, 0,2,3,4,5,6,7,8,9)}
This won't 'make the level 0 accounts roll into the level 2 accounts' but will have the effect of the level 1 accounts being excluded from the subset that is being displayed on the rows of the active form report. You'll have to play with the subset expression a bit to get what you need exactly.