I have to resolve a loop in my universe. Can anyone tell me the caveats of
the two choices above? I already have some aliases in my universe, but I
have never used a context (not sure I have a good candidate for one). Is
there a “best” way?
Aliases might require the definition of multiple
universe objects (example: Person_name,
Aliased_person_name), because the one side of the loop
now uses the alias, thus is not able to retrieve
from/join to the non-alias table.
Contexts, on the other hand, might require the user to
answer a question concerning which path they desire.
Hopefully, the general query indicates to Business
Objects which of the contexts should be used, but in
cases where that is not true, BOb will ask the user to
intervene.
It really depends on what you are trying to accomplish. In a broad
sense, aliases are best used when you have many tables using one table
as a lookup table. Contexts, in a general sense, are most useful when
you wish to select objects from two tables where there are two or more
sensible paths to get from one table to another.
As a hint, I would use the detect loop mechanism in the Designer. It
will offer you its best guess at how to resolve the loop, either with an
alias or, as BO puts it, “this loop is not covered with by a Context.”
Hope that helps. If not, please post a little more information about the
tables in the loop and how they will be used in your universe.
Alias and contexts solve different type of structural issues in your universe.
Aliases solve lookup tables being used for multiple tables. i.e. the country
table in the BusinessObjects beach demo universe. These tables will be the one
one to many joins, many being at the table to which they are linked.
Contexts solve multi fact table issues, by preventing the tables from being used
in the same select statement. These tables will have all many to one joins on
them. If you properly set the cardinalities on the joins BusinessObjects will
correctly detect the aliases and contexts. Look at the reservation_line and and
invoice_line tables in the beach universe to see how the handle multi fact tables.
Be careful though. To correctly re-autodetect the contexts you need to first
delete all of the existing contexts.
Jack Hertel
Original message:
I have to resolve a loop in my universe. Can anyone tell me the caveats of
the two choices above? I already have some aliases in my universe, but I
have never used a context (not sure I have a good candidate for one). Is
there a “best” way?