TM1 Data Snapshot functionality - Copy rule to values in a TM1 cube
The Bedrock data copy TI process is the most basic requirement for a in memory solution. The highest priority would be to achieve this outcome.
The following additional requirements would be nice to have on top of the basic requirement:
1. The ability to copy multiple source elements to the respective target elements within the one dimension (simply calling the new command multiple times will achieve the outcome as well, Plan Y1 to Plan Y1 Final, Plan Y2 to Plan Y2 Final, etc)
2. The ability to define add multiple dimensions each with their own source element and respective target element (typically this occurs as we copy plan for one year into budget for the next year - again this could be achieved by doing the data copy twice eg Year: 2017 to 2018 and then Version: Plan to Budget)
3. Finally, the ability to copy data across cubes:
3.a. At its simplest this would be the whole of a source cube to a target cube with exactly the same dimensions
3.b. The next step in functionality would be a view a source cube to a target cube with exactly the same dimensions
3.c. Finally level of functionality, is using a view in a source cube to a target cube with some of the same dimensions (or at least common elements). The process would:
3.3.i. effectively ignore single element dimensions from the source view
3.3.ii. and allow the matching of the multiple element dimension between source and target cubes
3.3.iii Allow the selection of single element on unmatched dimensions in the source cube.
Allow developer to specify an optionally collection of, source and target tuples defining the 'slice' to be copied adhering to the following rules, keeping in mind that source and target cube can be the same but don't need to be:
- dimensions not mentioned in the source tuple are presumed to exist in the target tuple and any existing data for all elements of that dimension is being copied.
- dimension mentioned in the source tuple must either not exist in the target cube or be specified in the target tuple and the target tuple can contain elements of dimensions that don't exist in the source, implying that the dimensionality of the target cube needs to be equal to the number of unreferenced dimensions in the source plus the number of dimensions in the target tuple.
- Needs to include the calculated data. This means there are no (or at least minimal rules) the target version. Minimising the rules in the copied version increases the performance for reporting. Additionally, there is less chance a change in rules leads to "corruption" the copied data. Occasionally, we see changes to rules occurring which impact data during the planning process.