linking formulas along with categories
It occurred to me that the ability to create categories in one matrix and then link them into another matrix can act a little like ‘Classes’ in object oriented programming. You have your structure (Categories and Items/Groups) and methods (Formulas). The ability to have default data that the linked categories can reference if they choose (via inter-matrix formulas) is also handy, but it is good that it is kept separate unless explicitly linked.
Once you’ve defined your categories and their rules, you could combine them in separate matrices to create a compound ‘object’, which inherits the structure you link in. The structure of a given linked category will reflect updates to any of the copies in the various matrices that use it. One that you are arbitrarily treating as a master copy will update all other instances. However, the same is not true of formulas.
When a category is linked, the formulas do not come with it, and must be copied on the clipboard. If changes are made in either the ‘original’ or the ‘copy’ (*) they are not reflected in the other instances.
While I believe there will be situations where the model will benefit from the ability to change the formulas that operate on a linked category (sort of like overloading an object method), there will also be times when a linked formula will allow you to reduce the number of places that you have to replicate changes.
What if the formulas that are defined in a category could be either linked or copied and the default action were based on an application default. Formulas that are linked would show the same Link icon as categories next to their checkbox or summation icon. The user would also need a way to break a link (copy) or re-establish a link (replace).
Attached (hopefully) is a model with helps illustrate the behavior of formulas. (Just delete the Quarters category from Sheet1 and Sheet2, and then link Quarters to them again from clsQuarters matrix.)
* – the quotes are to acknowledge that all linked instances of categories are treated as co-equal by QM
Yes, a hint of that thought occured to me after I had posted the PS about the summary formula. It would certainly be a way to accomplish a similar result by leveraging the existing code in QM. Not such a bad idea, really. Slightly more complex? Maybe, but not too much so.
The only real negative I can think of might be that the formula used as the definition of the function might be less ‘visible’ (from an Auditing perspective) than regular formulas.