Monday 14 March 2016

How To Join Without Using Join in Framework Manager

The title says it all. This is not a usual issue that one faces in working with Cognos. However some smart-alec interviewer will present this scenario to a poor up and coming developer.
So how will you get the correct data from two query items (in this example Time and Fact) that are not joined? And accomplish this in Framework Manager environment only.

First thing is that if you take data items from two query items without a join (direct or indirect) , you’ll going to get a cross join. In the Framework Manager governor settings, a crossjoin is prohibited by default. So you need to allow cross join from the Project menu -> Edit Governor Settings.



Create the new query, and drag the data items you need.


Open the filter tab of the new query subject. Add the condition you would use when you would join the two query subjects. In this case we equate the TIME_ID columns of both Time and Fact.



How this work is that filter and join expressions are both added in the where clause of your query. You can verify this fact when you check the generated SQL statement of your new query subject.


No comments:

Post a Comment