Hi
My question is regarding when to use Extend calculation on new tuples for all members of.
By experience I would know when to active on correct dimension, but there are occasions when it’s strange and some even don’t make any sense.
What also makes someone confused is the text in the documentation:
The values in the factor Cubes are processed
for all Entities in the structure of the target Cube
, at the highest level of granularity. This is similar to what would happen if you added the factor Cubes to a Layout as Blocks and set all the Entities in the target Cube structure in "By Row" in the Axis area.The result is a set of combinations of the members of Entities that are in the Structure of the target Cube which have a non-zero value on at least one of the Blocks of the Layout and are in the currently active Select.
By the text I would assume that if I put all entities of the target cube by row and the factor cubes in the layout, that whenever I get a non-zero value that this is a tuple that exist in the calculation domain and therefore the formula is executed and written to my target cube.
With this I build an example, procedure 1:
Cube A1: Month, Country, ProfitCenter, Unit
Cube B: Month, Currency
Cube C1: Month, Country, Currency, ProfitCenter, Unit
Target C1: a/b
All cubes are physical.
I entered value 100 in Cube A1 in intersection
Month: Jan23
Country: Sweden
ProfitCenter: Other
Unit: Other
I entered value 5 in Cube B1 in intersection
Month: Jan23
Currency: SEK
The result in cube C was 100/5= 20. In the procedure debugger just before step of calculating cube C1 I did what the documentation said and put all target C1 entities on row when factor cubes are in the layout. This showed me correctly that there was a value in Jan23, Sweden, SEK, Other, Other.
Above just confirmed everything that the documentation wrote.
When I in an existing procedure (2) then changed accordingly to the documentation the calculation didn’t work if i didn't extend on entity Currency. The funny thing was that the cubes in procedure 2 had the same entities as in procedure 1, even cube B was exactly the same cube. The rest of the cubes are called A2 and C2 for the sake of examples.
I then took the dataflow step from procedure 1 and put that in procedure 2 and I still got values in cube C1. I then added a step in procedure 2 so that cube A1 was populated with the same values as A2 and I still got values in C1 without extending any tuples while C2 don’t get any value if I don’t extend the tuples in Currency. I think I even tested with a dataflow step with cubes A1, B and C2 and that didn’t work.
So the question goes back to when I should extend the tuples. I have one example where it works as I understand the documentation but I also have an exactly same case when it doesn’t works as the documentation states.