Forum Discussion

SPMoore's avatar
SPMoore
Icon for Advocate I rankAdvocate I
9 years ago
Solved

Bi-Directional Relationships - good or bad?

Hi everyone   I attended the London Power BI users group recently where Alberto Ferrari was speaking about time intelligence (excellent presentation BTW!).  I got the impression that he seemed quit...
  • Anonymous's avatar
    Anonymous
    9 years ago

    First let me say that... if Alberto says it... it's true.  You will be very hard pressed to find somebody more knowledgable.  We can probabaly tag marcorusso for comments from their team though.

     

    I don't think there are any really interesting performance concerns.  I'm sure we can dream up a weird example, but that is not the general issue.

     

    For me... I hate them (bi-directional relationships).  I have had several client consults and several forum questions answered where the answer was just "oh, turn off that stupid bi-directional filter".  

     

    It is theoretically supposed to be an ease-of-use feature, but I think it's more of a "ease of confusion" feature.  In fairness, myself (rob collie, marco/alberto, chris webb, ken puls, matt allington, etc) have all trained ourselves to really understand, accept and train people on thinking of the filters working in just 1 direction.  There were some subtlies in dealing with certain models (say, dealing with many to many relationships)... but they weren't THAT big of a deal.

     

    I'm not necessarily against the existence of bi-directional relationships -- but I would prefer the default to always be one-way.  I think it would be easier to understand.

     

    It is most useful for people that don't even WANT/need to understand how relationships "work" and just stumble into a working solution.  I prefer to understand things :)

  • ankitpatira's avatar
    9 years ago

    SPMoore One reason for using bi-directional relation is to have both the charts filtered based on selection on the one ie if you have a relation that is from product table to location table (1 to many) and product table is going to be slicer and location column chart then it doesn't make sense to use bi-directional since you will be selecting something in slicer first and expect column chart to be filtered. But if you're going to use say column chart for both then it makes sense to have bi-directional relationship. So it also depends on your requirements.