Hi All,
Is there a way to determine from which context the SQL is genearted while running a report.
Thanks,
Nisha
[Moderator edit: Corrected spelling in subject to aid in searches. - Michael]
nisha_18 (BOB member since 2004-08-10)
Hi All,
Is there a way to determine from which context the SQL is genearted while running a report.
Thanks,
Nisha
[Moderator edit: Corrected spelling in subject to aid in searches. - Michael]
nisha_18 (BOB member since 2004-08-10)
Check this post out.
https://bobj-board.org/t/30744
I hope this helps.
kashif
Kashif Saeed
(BOB member since 2004-06-02)
Hi,
Thanks for your input on context.I have one more problem
I am running a report on two different objects and I am getting a conflict.
I have the following reports run:
Object A (from table A) and ObjectB(from TableB):
This gives synchronisation with 2 queries
Object A(from tableA) and ObjectC(from schema1.TableB)
This gives cartesian product error
I would rather want a synchronisation than cartesian.How do I solve this.
Thanks,
Nisha
nisha_18 (BOB member since 2004-08-10)
Nisha,
The cartesian product simply means that your tables have no join path between them. Make sure that you have all the correct joins in place and that every join is a member of at least one context. Any join that is not a member of at least one context will not be recognized by BusinessObjects, unless you are not using contexts.
MichaelWelter
(BOB member since 2002-08-08)
Hi Michael,
In reference to my previous post,Actually I don't have a join between Table A and TableB or
Table A and Schema1.TableB.
But the first report runs without cartesian product error. It gives synchronisation
whereas the second one gives cartesian product error.
How come it does not show cartesian product error in first report
Thanks,
Nisha
nisha_18 (BOB member since 2004-08-10)
Synchronization actually IS a cartesian product.
However, since you have TableA and TableB in different contexts, BusinessObjects allows the query to run, but displays the results in seperate tables, in a sectioned report, sectioned at whatever level is common to both selects, if any. So, rather than try to join the two selects, which would produce eroneous results, you get seperate blocks.
MichaelWelter
(BOB member since 2002-08-08)
Hi Nisha,
Do you have contexts? If so, maybe your contexts are resulting in the Synchronization in the first query.
Roughly, you will get a Synchronization (as opposed to a Join) if you have objects in the query that have different relationships to the other tables in the query (ex., dimension tables that are joined differently to a fact table, etc.)
Good luck,
Judy
JMulders
(BOB member since 2002-06-20)
Might be silly but…
Can I avoid the dialogue box which comes during report running for cartesian product error.Instead,get the synchronisation results?
Thanks,
Nisha
nisha_18 (BOB member since 2004-08-10)
Well, that depends on the construction of your universe. Yes, you can avoid it, but you need to make sure that all your joins are in contexts. And make sure that Table A and TableB are in different contexts. Then you will most likely get the synchronization.
MichaelWelter
(BOB member since 2002-08-08)
Hi Michael,
I do have tableA and schema1.tableB in two different contexts.But it is still giving me cartesian product error.
Thanks,
Nisha
nisha_18 (BOB member since 2004-08-10)
Your universe is probably more complex than I realize. I’d have to see it to find the problem.
MichaelWelter
(BOB member since 2002-08-08)
Hi Michael,
I might not be able to send the universe to you but can you tell me how do I determine the SQL generated is coming from which context.I read the link posted in this thread but I guess i did not understand anything.
Thanks,
Nisha
nisha_18 (BOB member since 2004-08-10)
To determine the context in use, you simply need to compare the joins generated in the SQL with the joins in your contexts.
MichaelWelter
(BOB member since 2002-08-08)