Skip to Content

Breaking loop by using Alice...

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)
Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Nov 23, 2016 at 11:09 AM

    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/

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 23, 2016 at 11:25 AM

    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.

    Add comment
    10|10000 characters needed characters exceeded