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
Well the possibility of showing the users definition as a remark in the formula line could be a feature.
I just love creating work for our Quantrix friends.
A user defined formula would also allow for manipulation of the data as such:
Catagory.item5.user_defined1=user_defined1*some other data.
It might actually create a more readable formula from a non-pro users perspective. For example, I have a user defined formula that does all the heavy lifting to calculate the trajectory of a missile. From that point on, a less advanced user could then manipulate that result. They could just see the user_trajectory value and then go from there and not having to write out the whole thing again which they may or may not understand.