cancel
Showing results for 
Search instead for 
Did you mean: 

Char's Relationships changed?

Former Member
0 Kudos

Hi all!

I've faced with really strange situation with relationship in IP.

So, I have a query with a bunch of chars. For ICube (on which query is created)  there are some relationship rules. I marked option Access types for Result Values for some chars. But Constructor method and Create method were launched for ALL chars which were attached for my aggr.level! Why other chars launch their combination if I don't choose them?!

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

Hi Michael,

assume you have the following relations

R1 with characteristics A, B

R2 with characteristics B, C

These relations share the characteristic B.

How does the CREATE method (characteristic relationship) work? It takes the selection and all requested characteristics and creates all valid combination contained in the restriction. So it calls CREATE for relation R1 and R2 and computes the inner-join of the two 'tables' (join by B).

CREATE for A makes no sense, CREATE only has a meaning for characteristics A, B (relation R1),

B,C (relation R2 or A,B,C (both relations R1, R2).

Assume you have set 'Access Type for Result Values' based on characteristic relationships in a Query containing characteristics A,B,C only for characteristic A. What should happen in this case?

The relation R1 contains no information about A alone. Thus the system build a characteristic relationship hul (CR-hul):

- since A is requested relation R1 is involved

- since B is in R1 and in R2 also R2 is involved

Thus the CR-hul(A) = {A,B,C} and the system will call CREATE for A,B,C.

Observe that similar things happen in case you have a chain of derivation relations; this applies to the method DERIVE called in the delta or after image buffer.

Back to CREATE, consider the case that you may have a restriction for characteristic C, but not for A,B. The via the CR-hul mechanism one will get an effect on the admissible combinations (a,b,c) via the inner-join.

Regards,

Gregor

Former Member
0 Kudos

I mean, I have following set of Chars in my cube and in my aggr.level: A,B,C,D,E.

Also I have following relationships AB, CD, CE. I chose AB in query for 'Access types for Result Values',  and I didn't choose C, D and E. So, why creation method is launched for CD and CE relationships? Why it is enough to have char in query for launching creation method?

0 Kudos

Hi Michael,

the CR-hul is taking all modeled characteristic relationships into account plus the technical relations coming from navigation attributes and time charcteristics.

In your example CR-hul(A,B) = {A,B} and CR-hul(C) = {C,D,E}. Might be that these sets are linked by a time characteristic? Maybe some characteristics have the same compounding parent? In these cases the CR-hul(A,B) might be everything.

There are two cases when the system calls CREATE in a query context:

1 To build the result set

2 To read the data needed for disaggregation

In the first case the system calls CREATE for CR-hul(characteristics drilled-down in rows with setting 'Access type ...') and CR-hul(characteristics drilled-down in columns with setting 'Access type ...). There might be additional calls depending on other settings in the query, it is too complex to list here all cases.

In the second case the system calls CREATE for CR-hul( characteristics in aggregation level with setting 'Access type ...'). A characteristic X in the aggregation level might not be free in the query; thus it has no setting for 'Access type ...'. For disaggregation this characteristic X is needed thus it will get implicitly the setting 'Access type ...' = CR if one characteristics has this settings. This is to ensure that disaggregation can find data.

Regards,

Gregor

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

the system will check also valid combinations and do the necessary derivations according to characteristic relationships defined before saving the data and not only when the access type is checked.

hope it helps.