OBI recommends using complex logical joins instead of foreign key logical joins. Beginning with Siebel Analytics version 7.7.1, not specifying logical keys for logical fact tables is recommended.
If foreign key logical joins are used, the primary key of a logical fact table should then be comprised of the foreign keys. If the physical table does not have a primary key, the logical key for a fact table needs to be made up of the key columns that join to the attribute tables as follows:
If this guideline is not followed, the following error may occur:
[nQSError: 46036] Internal Assertion
If complex logical joins are used, then there is more flexibility in defining the primary key. If the physical table has a primary key, then this field can be used as a logical key for the fact table. This is the method used in the Repository.