If you are unable to create a new account, please email support@bspsoftware.com

 

News:

MetaManager - Administrative Tools for IBM Cognos
Pricing starting at $2,100
Download Now    Learn More

Main Menu

Joins

Started by dssd, 01 Oct 2012 01:26:15 PM

Previous topic - Next topic

dssd

Is the cardinality specified in a join between two Query Subjects of meaning if we put a definition in the expression box....The definition in the expression box would mean we arent using the links buttton.

blom0344

Using the links generates the join expression. It is then possible to override the expression. It would depend on the override whether cardinality would still matter. If you would add an additional restriction on the join it would still matter to Cognos. If you define a theta join (like a between statement ) it may no longer be relevant

dssd

Why does it diregard if we have a theta join?

Greg

No matter what your join expression, the query planner will still use the cardinality to determine whether it needs to stitch multiple fact queries together.

blom0344

Quote from: Greg on 04 Oct 2012 03:18:28 PM
No matter what your join expression, the query planner will still use the cardinality to determine whether it needs to stitch multiple fact queries together.

I do not think so..  If you just add an additional clause to the join like   'and xxxx = ....  '  it is still easy to determine fact and non-fact side. However , with a thetajoin like 'between' the 1 and n side of the relationship may be irrelevant.

I think the OP wwas out to determine whether the coding of the relationship would differ from using the GUI. The GUI can only generate an equi-join

Greg

The query engine doesn't look at the relationship expression at all to determine fact and non-fact side of a join.  It relies exclusively on the cardinalities specified for the join.

blom0344

Quote from: Greg on 09 Oct 2012 12:32:30 PM
The query engine doesn't look at the relationship expression at all to determine fact and non-fact side of a join.  It relies exclusively on the cardinalities specified for the join.

True, I was not denying that part but merely stating that a non equi-join may concern a scenario outside the scope of  fact - non-fact.  This is often the case with event / factless fact tables. It may also occur in case your coding an 'in between' join to generate rows for use in crosstabs