Forum Discussion

dkata's avatar
dkata
Frequent Visitor
2 years ago
Solved

Multiple Relationship between the same tables are all be able to be activated.

Hi Community,   I am not sure if this is an known issue (I checked this community as well as web-searched but could not find any topic on this) or a designed behavior, but I faced a weird thing. He...
  • OwenAuger's avatar
    2 years ago

    Hi dkata 

    Interesting!

    My first observation is that Power BI/Tabular models do not support multiple active relationships (or relationship paths) between tables, whether circular or not.

    Quoting this documentation:

    "There can only be one active filter propagation path between two model tables."

     

    I would say that the bug in this case is that Power BI Desktop permitted this configuration of relationships to exist without throwing an error.

     

    It is difficult (and probably futile) to comment on what the behaviour "should" be in this situation, since the engine is not designed to handle this specific situation.

     

    Normally the Power BI Desktop interface prevents the creation of any active relationship that would create such a situation.

    However, you have creatively found a way around this and created such a configuration of relationships, which in this case happens to circular 🙂

     

    I was able to replicate your model setup and activate both relationships by either:

    1. In the Power BI Desktop Model view, selecting both relationships > Make this relationship active > Apply changes.
    2. In Tabular Editor, set both relationships to Active.

    Did you use either of these two methods or another method?

     

    However, attempting to activate one of the relationships in either the "Manage relationships" or "Edit relationship" dialog box after the other is already active results in the expected error message:

    "An active relationship already exists between Table 02 and Table 01. To make this relationship active, deactivate the existing relationship first."

     

    Was there a particular situation you were trying to model here, or was this an example to demonstrate the issue?

     

    Regards