Page 1 of 1

Rule Dependency Query

Posted: Thu Jan 04, 2024 10:35 am
by Steve Rowe
Just want to double check before I over engineer...

I have two cubes that I want to be totally independent in order to preserve the Rule Cache in each cube.

If the rule sheet for both cubes reference the attributes of the same dimension via a lookup, something like a prior period lookup then does this create a dependency between my two cubes?
i.e.
in Cube A
['Measure'] = DB ('Cube A' , ......, DB('}ElementAttributes_Period' , !Period, 'Prior') ,....);

in Cube B
['Measure'] = DB ('Cube B' , ......, DB('}ElementAttributes_Period' , !Period, 'Prior') ,....);

My instinctive response is that it does create a dependency between Cube A <---> Cube B as the dependency logic in the engine doesn't care about the direction of the dependency (I assume).

Has anyone done direct testing of this?

Re: Rule Dependency Query

Posted: Thu Jan 04, 2024 1:56 pm
by Emixam
Hi,

I've never done any testing but during server startup, can you see the cube dependency being created ?

Code: Select all

12345 [] INFO 1900-01-01 00:00:00:00 TM1.Cube.Dependency Adding cube dependency: Cube 'Cube A' depends on cube 'Cube B' 
You could also use

Code: Select all

log4j.logger.TM1.Cube.Dependency=DEBUG
in tm1s-log.properties file.

Let us know if you find anything, that's an interesting one

Re: Rule Dependency Query

Posted: Fri Jan 05, 2024 9:59 am
by lotsaram
Steve Rowe wrote: Thu Jan 04, 2024 10:35 am If the rule sheet for both cubes reference the attributes of the same dimension via a lookup, something like a prior period lookup then does this create a dependency between my two cubes?
No.
Steve Rowe wrote: Thu Jan 04, 2024 10:35 am in Cube A
['Measure'] = DB ('Cube A' , ......, DB('}ElementAttributes_Period' , !Period, 'Prior') ,....);

in Cube B
['Measure'] = DB ('Cube B' , ......, DB('}ElementAttributes_Period' , !Period, 'Prior') ,....);

My instinctive response is that it does create a dependency between Cube A <---> Cube B as the dependency logic in the engine doesn't care about the direction of the dependency (I assume).
This creates a dependency in both cubes to the (attribute cube of the) Period dimension. It doesn't create a dependency between cube A & cube B.