on 03-09-2011 8:13 AM
query will return more data or less data? i'm not sure, because i set the cardinality when i create a join.
thanks advance!
Hi,
Nothing wrong in not defining cardinalities. Every thing works fine as it is with or without cardinalities.
Defining cardinalities will give you lot of advantages:
1. Automatic context detection
2. Avoiding warning messages during Integrity check
3. Confusion to new users viewing or modifiing the universe
So its always best practice to define cardinalities. Other than that every thing works fine.
Hope this helps!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
You always need to create the joins and set the cardinalities as best practice, the universe won't automatically pick up the relationships between your tables. That said you could read up on External Strategies, but on the whole you need to be adding the joins and set the cardinalities yourself as you add tables...
Cardinalities express the maximum number of instances of an entity A that can be associated to corresponding instances
in another entity B.
Cardinalities need to be defined while setting up joins in a universe. If not, we encounter join path problems such
as loops and traps, and joining tables will result in Cartesian products.
Setting cardinalities is mandatory. If the cardinalities are not set, we cannot detect loops.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You always need to create the joins and set the cardinalities as best practice
correct
the universe won't automatically pick up the relationships between your tables.
Incorrect. The joins will be generated as part of the query without cardinalities being set.
Cardinalities need to be defined while setting up joins in a universe. If not, we encounter join path problems such
as loops and traps, and joining tables will result in Cartesian products.
Incorrect. It is just easier to resolve loops because of the detect context algorithm. You can create contexts without any cardinalities set if you do it manually.
Setting cardinalities is mandatory.
Incorrect
If the cardinalities are not set, we cannot detect loops.
Correct
Hi,
You need to setup cardinalities inorder to find loops and traps (fan trap & chasm trap)
and resolve loops.
All the Best,
Madhu...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You don't, so long as you know what the cardinalities are, if you are going to resolve them manually. D1 - F1, D1 - F2, D2 - F1 and D2 - F2 creates a loop, which would be resolved by one context for D1 - F1 and D2 - F1 and one for D1 - F2 and D2 - F2 and that's without knowing the cardinalities.
You are correct, though, if you try to use the detect functionality within Designer.
Personally, I see absolutely no reason for not setting cardinalities. Like adding object descriptions, it's another step closer to a properly-constructed universe that you'd be happy to inherit.
Hi,
You can get more information on this topic in Designer Guide.
You can dowload the same from http://help.sap.com/------Click SAP Business Objects -
>All products.
Hope it helps.
Thanks,
Sands
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The cardinality of a join does not have a role in the SQL generated when you run a query. However, Designer uses cardinalities to determine contexts and valid query paths.
A context is a collection of joins which provide a valid query path. You use contexts to resolve join problems that can return too many or too few rows because of the way that tables are linked in the target database. Contexts affect the SQL generated for a query as they either direct the end user to take a particular join path, or solve a join path problem:
"You need to verify that cardinalities are correctly set for all joins in your schema to ensure that you have the correct contexts, and that you have valid join paths."
Setting cardinalities can also help you understand how tables are related in the database, and to graphically identify potential join path problems in your schema.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The main impact is that you will not be able to use the detect context functionality.
There are other minor points, but that is the most important. It will not affect the way that queries are generated.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
82 | |
10 | |
10 | |
9 | |
6 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.