Calculation Domain Settings
I have been experiencing issues with writing new cells in target cubes after upgrading to Board 11. I am running the dataflow with the setting Limit calculation to tuples where values of at least one cube of the Layout are non-zero and then checking all the entities in the "Extended Calculation" dropdown. Am I missing something else?
I was hoping this fix mentioned in the release notes of 11.2 was going to help but I am still seeing the same behavior:
greater control on the settings of the Calculation Domain in order to force computing new cells when desired.
Is this "greater control" some new setting that needs to be enabled?
Answers
-
Hi @Mikael Areström,
could you please give us more details?
What does your dataflow look like exactly? Do the cubes have common dimensions?
BR
Johannes
------------------------------
Johannes Blischke
Consultant
Board Community
Germany
------------------------------
-------------------------------------------0 -
Hi Johannes, thank you for your reply.
------------------------------
Actually I am experiencing this for many dataflows in the application when migrating to 11.2.
One example I can give is where a user inputs a date into a cube, like '2020-05-05', this cube has an entity which represents a point in the organizational hierarchy and another that represents an event, let's call this Cube1. I then compare this with a cube, Cube2, that contains all dates used in the application in the same format ('2020-05-05') and the DayEntity.
I then have a target cube, Cube3, containing the DayEntity, OrganizationalEntity and EventEntity. What I want to do is to compare Cube1 with Cube2 to find a DayEntity that matches the input by the user and put the value 1 on that day in Cube3.
The formula looks like this: Cube3 = if(Cube2=Cube1,Cube2/Cube2,0)
When debugging the layout produces a 1 when evaluating the formula but Cube3 is never populated.
Any ideas on what could be the causing this?
Regards,
Mikael Areström
Mikael Areström
Solution Architect (BI & DW)
H&M Hennes & Mauritz AB
Sweden
------------------------------
-------------------------------------------0 -
Hi @Mikael Areström,
I tried to replicate this case exactly. For this I have created Cube1 and Cube2 as type "Text", because otherwise I cannot readjust your input (eg "2020-05-05"). Cube3 is type "Single".
Dimensions of Cube1: Organization + Event
Dimensions of Cube2: Organization + Event + Day
Dimensions of Cube3: Organization + Event + Day
Now I have made an entry in the combination of Cube1 at Organization A, Event B. Next the same entry in Cube2 for the combination Organization A Event B and Day 20200514.
In the procedure I now compare as follows:
= if(and(Cube1<>"",Cube2<>"", Cube1=Cube2),1,0)
- Calculation Domain: Limit calculation to tuples where values of at least one cube of the layout are non-zero
- Extend on Organization, Event and Day
I get the correct result. In Cube3 I get "1" in the cell, in which the combination of Cube1 and Cube2 matches. Maybe I didn't understand the data model correctly?
Which cube types do you use for Cube1 and Cube2? It may be because Cube2/Cube2 does not work with text format.
This may already be the solution. If not, could you please give me more information? I would then adjust my data model again and try to reproduce the case.
Best regards,
Johannes
------------------------------
Johannes Blischke
Consultant
Board Community
Germany
------------------------------
-------------------------------------------0 -
Hi Johannes, thanks for you reply!
There are a few differences between your setup and ours:
Cube1 only has the Day dimension and is of the datatype Date. Cube2 does not have the Day entity, rather it only has the organizational entity and the event entity, it is of the data type Date.
The final cube has all three entities and is of the data type double.
Also, I simplified it a bit in the post above. The actual Layout contains 6 versions of Cube2 (each one represents a different year) so that the user can input actual dates for the different events for different years. The formula looks like this if(or(a=b,a=c,a=d,a=e,a=f,a=g),a/a,0) where A is Cube1 and B-G are the 6 different Cube2. What makes me suspect that it has something to do with the extended calculation feature is that when debugging this formula evaluates to 1 but the result is not stored in the target cube.
What I want to understand is why it has stopped working in Board 11 so I can use that knowledge when going through the rest of the application and try to find similar scenarios.
------------------------------
Mikael Areström
Solution Architect (BI & DW)
H&M Hennes & Mauritz AB
Sweden
------------------------------
-------------------------------------------0 -
Hi @Mikael Areström,
in Board11 the extend of new tuples has to be configured for new combinations that can occur. It's nearly the same like in Board 10 when you set the dimensions of a cube to #dense.
Would you try to configure your dataflow as follows:
- Your expression should be: if(or(a=b,a=c,a=d,a=e,a=f,a=g),1,0)
- Calculation Domain: Limit calculation to tuples where values of at least one cube of the Layout are non-zero
- Extend new tuples ONLY on your EventEntity and OrganizationalEntity (leave Day unchecked)
In my case
Dataflow:
Result:
Hope that helps.
Best regards,
Johannes
------------------------------
Johannes Blischke
Consultant
Board Community
Germany
------------------------------
-------------------------------------------0