Skip to Content
0

Breaking loop by using Alice...

Nov 23, 2016 at 10:45 AM

61

avatar image

Hi,

We have join like below image. Where do I need to create Alice to break loop and Why?

D - Dimension Table

F - Fact Table

Thanks

Riaz

bo-question.jpg (20.1 kB)
10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

AMIT KUMAR
Nov 23, 2016 at 11:09 AM
0

You can create the alias of dimension table.either D1 or D2.

Let say if i will create the alias of D1 then i have two different paths.

D2->F1->D1->F2

other is

D2_Alias-.>F1->D1->F2

with this option you need to create additional objects from D2_Alias table also.

Other option you can use in this scenario to enable one shortcut join between one dimension to fact table.Like from D2->F2 is shortcut join.If you will pick objects from these two tables only then shortcut join will work.if you pick object from all tables then it will follow this path.

D2->F1->D1->F2

other option is you can create context.

http://www.dagira.com/2009/07/22/context-versus-alias-overview/

Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member
Nov 23, 2016 at 11:25 AM
0

You don't need aliases here, as soon as you have defined the cardinalities in IDT like in your picture just click "Detect contexts".

It should create two contexts - for F1 and for F2. The reason is that the system should get the data in two passes - from F1 and F2 - if both are used in a single query. Without the contexts they will be just joined in a single pass, resulting in duplicate rows and wrong totals.

Share
10 |10000 characters needed characters left characters exceeded