BusinessObjects Board

Table cross joins in IDT

Hi
It’s kind of straight forward question, I just need your advises. How to create below mentioned joins in IDT?

join A.a----B.a
Join B.a ----C.a AND C.a—A.a

You can create it, but then you would get a loop. Somewhere in there I would make a derived table to break the loop.

Hi Kevlray,

Thanks for your response, Yes you are right. My confusion is that how to use two tables join in the same join condition.
Join B.a ----C.a AND C.a—A.a

Yes as far as I know, you can only use a derived table (or as I call them in MS-SQL, aliased tables).

If it is the case that you want to always join to both tables, you can associate tables with objects.

For example, if you pick an object from table B and always want to include an object from table C, you could associate your object built from table B with table C too - that’s what your tables button in the object definition dialog box is for. In effect, it forces the join between B and C without the person building the report ever needing to worry about it.

Notes on this approach:
1/ Always annotate your data schema in IDT to show that you’ve done this as it can be confusing for those that are not aware of this approach.
2/ An alternative is to create an alias of C and have the B.a = AliasC.a join added to all contexts that involve a join to table B, making this enforcement context-agnostic. This approach is sometimes how you enforce a security table when you have, say, regional managers listed in table C who are only allowed to see the performance of the branches listed in table B.