I've noticed that all the historical field manipulations are performed every time a file is opened:
This seems to be wasteful. For example, we recently created a field with circular reference and then deleted it, and yet we were getting a circular reference error every time on opening the file until we manually removed the steps in data manager. So if I renamed a field 20 times will all the renames be repeated? If I changed the formula 10 times and deleted the field in the end, will my refresh take time to calculate all 10 useless formulas?
If the answer to any of these is "yes" then it would be extremely helpful to have an "Optimise" button that removes all the unnecessary operations. For example, remove all the operations related to the field before its deletion, only leave the last formula change and rename etc.
If you scroll to the bottom you will see a number of ideas for improving managing changes made inside Omniscope.
The first idea is stated as:
- Automatically discard multiple "set formula" actions that are applied to the same field in sequence. In this case we only need to apply the last action.
This seems to apply to your issue above. We have already implemented this in Omniscope 2.8, however we have not added optimisations for multiple continuous renames. I will ensure this is also done.
On your point about circular references, we have now improved the error message to specify which fields have circular references.
That's a good point with regards to removing all actions on a deleted field, however we need to be careful because the field may have been duplicated prior to a delete, so if we remove all actions the duplicated field may be not be in the correct state, for example:
Set "Field1" to "Date" Create duplicate of "Field1" called "Field2" Delete "Field1".
In the example above, if we delete all the actions on Field1 prior to the delete, then "Field2" will be the wrong data type.
I think its safer to only delete actions if they appear in a continuous sequence, so if we have the following:
Set "Field1" to "Date" Delete "Field1"
It is safe to delete all these actions. Of course we might have an unrelated action in-between, but if we add too much complexity here we risk missing something and inadvertently deleting actions when we should retain them.
In almost all cases you can do all your field operations inside DataManager. We encourage users not to mix field operations in DataManager and field operations in DataExplorer, as it can get difficult to manage in the future.