No video

Bidirectional relationships and ambiguity

  Рет қаралды 102,182

SQLBI

SQLBI

Күн бұрын

Learn how to avoid ambiguity caused by bidirectional relationships in a Tabular model with Power BI or Analysis Services.
Article and download: sql.bi/75696?a...
How to learn DAX: www.sqlbi.com/...
The definitive guide to DAX: www.sqlbi.com/...

Пікірлер: 184
@atanasprodatanasov9233
@atanasprodatanasov9233 2 жыл бұрын
Brutal! I spent 4 sleepless nights because of that... thank you so much!
@teunkruijer
@teunkruijer 3 жыл бұрын
I can't even begin to describe how happy I am that i found this video. I was about to redesign my whole model to only use one fact table, and all I had to do to get the filters to sync was add a measure. Thank you so much! Great video.
@karannchew2534
@karannchew2534 Жыл бұрын
Hi, Would you mind sharing more please? What type of measure did you create to get the filters to sync please?
@manuelcometto13
@manuelcometto13 6 күн бұрын
Sono rimasto stupefatto dalla chiarezza della spiegazione. Complimenti davvero
@hasnainhaider8191
@hasnainhaider8191 3 жыл бұрын
man wow, how beautifully he explains and all the tools he uses. a true master.
@harfshortshayari3340
@harfshortshayari3340 2 жыл бұрын
could you please help me in understanding why it worked after applying the visual filter?
@rick_.
@rick_. 3 жыл бұрын
"Welcome to Hell!" I was laughing so much that I had to pause the video to put in this comment! I think the real key to understand why adding the filter to the slicer works is that a slicer is just another visual. All the usual cross-visual filtering rules apply. It's one of those things that is obvious if you think about it at all, but it is easy to fall into the trap of thinking a slicer is just a different way to show a filter. I did.
@kevinlabore1726
@kevinlabore1726 9 ай бұрын
in Summation WOW -- the really explains why you should ALMOST never use bi-directional relationships for purposes of filtering and why you probably should ALMOST NEVER trust a model that does .. in the back of my mind I was trying to figure out how the ambiguity impact things -- great walk through THANK YOU
@Jackassik
@Jackassik 3 жыл бұрын
My company created a bunch of data models where every possible relationship is bi-directional before hiring me... I told them that I won't touch them and I won't take responsibility for the numbers they display and your video will be a very good example why you need people who knows how to build data models as it's not simply drag and drop. Thank you very much for a very informative and well presented video :)
@vithaitang6492
@vithaitang6492 2 жыл бұрын
Thank you Mr. Ferrari, I love the way you raise the problem, analyze it and give the solution. Very clear and useful!
@bactran7799
@bactran7799 2 жыл бұрын
While looking for a solution for my model that has a lot of bidirectional relationships, I meet Alberto with the amazing video and the answer for my big question. Thank you for your great works, I always appreciate your contribution to make DAX easier to use
@diederikvankolfschoten47
@diederikvankolfschoten47 3 жыл бұрын
This is a very neat trick to avoid ambiguity!! Thanks! SQLBI is on top of my top 5 resources!
@mau_lopez
@mau_lopez 3 жыл бұрын
Great video, very clear and well done, thanks Mr. Ferrari. I would just emphasise that that the problem presented doesn't come only from using the bidirectional relationship, but it comes form using the bidirectional relationship IN a loop, because in a purely star schema no ambiguity is created when using bidirectional relationships. This would be just to reinforce what is already a great explanation!
@SQLBI
@SQLBI 3 жыл бұрын
True - but you have to be sure you'll not add other fact tables to the same model sharing the same dimensions... in the future
@brianligat9493
@brianligat9493 7 ай бұрын
Just as I was looking at this, I found this video and it answered everything. Thanks Alberto. I think PBI should give a warning if it detects alternate fllter paths. If it would be difficult to explain such ambiguity to a non-technical person, then the design should be changed. The stakeholders/consumers will lose trust and confidence if something is happening that cannot be understood.
@JawadAli-nv9mr
@JawadAli-nv9mr 3 жыл бұрын
I always had issues with ambiguous models. and what I concluded from my report is to never use bi directional filter. I never knew what was the reason. now I got I must appreciate your efforts 👍👍
@rawalkarnikita2947
@rawalkarnikita2947 7 ай бұрын
Thank you so much Sir for posting this valuable video. I can't express my gratitude towards you that how much I was needed this video. Thank you again 😊
@preethul1
@preethul1 2 жыл бұрын
Excellent. So well explained. I would have never understood the consequences of bidirectional if I didn't bump into this video. Thanks a lot.
@huseyinburaktasci1638
@huseyinburaktasci1638 8 ай бұрын
I noticed the name of the final tab called "Welcome to hell" :D Clearly explains the issue! Thanks for the content, very useful!
@Broadmoore
@Broadmoore 3 жыл бұрын
This is the best video I’ve ever seen on ambiguity and relationships. Thank you!
@Bharath_PBI
@Bharath_PBI 3 жыл бұрын
Amazing explanation. Self service BI report developers MUST watch this video. I had to explain this to lot of people and now I can just guide them here 👍 Thank you.
@27sreeni
@27sreeni 2 жыл бұрын
Really Really Superb explanation, I love your videos .. one request if any monthly enable SQLBI its really helpful to me
@dsfshshfhgsghs
@dsfshshfhgsghs 2 жыл бұрын
What a good teacher you are, Alberto! Fantastic explanation! Tante grazie!
@Istion2991
@Istion2991 2 жыл бұрын
Amazing explanation. Fixed the problem I didn't even know how to frame a question around.
@albinlabelle
@albinlabelle 3 жыл бұрын
Thank you for this clear explanation (love the handwritten arrows on top of the modeling view !). Aside from the ambiguity arising from the use of a bidirectional relationship (which I manage to keep away from), I discovered a neat way to show only relevant choices in slicers !
@MichelMetran
@MichelMetran Жыл бұрын
I discovered the channel today and... congratulations on such quality content! Learning a lot here!
@ongkamsiong
@ongkamsiong 3 ай бұрын
You provided much better insight about bidirectional filter than Microsoft documentation / training.
@florin-danielpop3183
@florin-danielpop3183 3 жыл бұрын
Really easy to understand, as always great job. Thank you SQLBI team for your amazing work.
@nishanthvarmas8568
@nishanthvarmas8568 Жыл бұрын
Oh my goodness, such a beautiful explanation. Wow Man!
@sachin.tandon
@sachin.tandon 3 жыл бұрын
Very elegantly explained. Using the side Filter Pane would not have occured to me. I would have edited the Sales Measure by using CROSSFILTER. But I think the Filter Pane, does the job just as well!
@alessandrocadenelli5849
@alessandrocadenelli5849 3 жыл бұрын
yes, but you have to do anyway the 'trick of filter pane' if you want to "synchronize" the two slicers...so two birds with one stone..
@rafaelmiralha5995
@rafaelmiralha5995 2 жыл бұрын
Thank you very much for these videos Alberto and SQLBI! Learning a lot about DAX!
@nevermore17011990
@nevermore17011990 7 күн бұрын
this video islike a movie of DAX !
@fadwa2413
@fadwa2413 2 жыл бұрын
I LOVE YOU Alberto !! YOU ARE THE LEGEND
@dhiraj3933
@dhiraj3933 Жыл бұрын
This is a great! I need to try this next time I come across situation like this.
@lovebites4098
@lovebites4098 5 ай бұрын
I was facing the same issue and was stuck trying to figure out how bidirectional works from the last 2 days. I tried to check if it works like sql joins but still the result was ambiguous showing a greater value than that in sql. Thanks a lot for making this content. For slicer u used 'is not blank' filter. but i have direct column from 2 unrelated table(not connected directly, although connected through other tables, but flow non-unidirectional) and that too numerical(sum of amount). But now i hope i will figure it out how is it working in my case. thanks a lot lot sir. its much much informative and helpful.
@click-ue3kc
@click-ue3kc 6 ай бұрын
Awesome! I am working on a model and I am happy I found this.
@TrungNguyen-jy2bc
@TrungNguyen-jy2bc 2 жыл бұрын
Amazing sir! The solution is so elegant that I have to clap when I saw it!
@tuliofernandopinillosalegr3799
@tuliofernandopinillosalegr3799 2 жыл бұрын
Excelente exposición!!! Eres lo máximo Alberto Ferrari.
@Hurairahgiri
@Hurairahgiri 2 жыл бұрын
Wow. I am taken aback by the explanation. Much love!
@MahmoudSamir7oda
@MahmoudSamir7oda 3 жыл бұрын
Thank you Alberto i have been looking at that trick for weeks since i have similar business problem. Glad i came a croos the video. 🤗
@raitup00
@raitup00 2 жыл бұрын
Omg! Good problem, great explanation and excellent solution
@AnhTuan-fv2kn
@AnhTuan-fv2kn 2 жыл бұрын
Thank you very much for these videos Alberto and SQLBI
@joseaugustocarvalhofilho3506
@joseaugustocarvalhofilho3506 5 ай бұрын
Excellent explanation! Congrats for such a great work!
@bluesage1528
@bluesage1528 3 жыл бұрын
Fantastic explanation and presentation! Thank you so much.
@Robay146
@Robay146 2 жыл бұрын
This is a classic lesson. Thank you! Big up!
@ooooFISCHERoooo
@ooooFISCHERoooo 3 жыл бұрын
Cool. And yet so simple. Love the sheet name “Welcome to hell” 😂
@williamrodriguez2694
@williamrodriguez2694 3 жыл бұрын
Literally busted out laughing when I saw that!
@gborka
@gborka 2 жыл бұрын
Thank you a lot. Really happy to find this channel.
@RonaldPostelmans
@RonaldPostelmans 3 жыл бұрын
Nice explanation, i now finally understand ambiguity and now why i can not use bidrectional filters
@CharudattaAmbekar
@CharudattaAmbekar 3 жыл бұрын
Thanks! This quick solution of visual filters is possible only in Power Bi. In Excel, we use 'Crossfilter' in the measure formula.
@MohamedHassan-fo3no
@MohamedHassan-fo3no 6 ай бұрын
Finally understood it right!!
@ThePasserby76
@ThePasserby76 3 жыл бұрын
Hello Alberto. Have just found your channel. Awesome video. Just one request - pleaseeee do more examples on ambiguity. Really helps us the beginners.
@Zenith40450
@Zenith40450 2 жыл бұрын
Really loved the tab you named "Welcome to Hell" 😀😀😀😀
@Nura853
@Nura853 2 жыл бұрын
Thank you for clear and precise explanation!
@kashifhaque2085
@kashifhaque2085 Жыл бұрын
This is very helpful, thanks!
@inerasmodellfornyttokalkyl1201
@inerasmodellfornyttokalkyl1201 2 жыл бұрын
Fantastic video!
3 жыл бұрын
Love this one, a true best pratice that can change life and model design
@tomreborns5739
@tomreborns5739 2 жыл бұрын
Thanks you to make it so clear and easy ! without avoiding to dig in detail :) Make times fresher to me haha
@rachitgoyal521
@rachitgoyal521 3 жыл бұрын
Amazingly explained such a complex scenario.. Kudos!
@ExplorandoDatos
@ExplorandoDatos 3 жыл бұрын
Fantástico! Thank you MAESTRO!
@ovidlwwebsco
@ovidlwwebsco 3 ай бұрын
awesome explanation, thank U
@StephanOnisick
@StephanOnisick 3 жыл бұрын
Excellent Example of Crossfilter
@vijaynrao2499
@vijaynrao2499 Жыл бұрын
Great! Really really great examples and explanation!
@ahamedyasar4722
@ahamedyasar4722 2 жыл бұрын
wonderful explanation... thank you...😀
@berkayozkan5509
@berkayozkan5509 Жыл бұрын
Very clear. Thanks!!
@evalang4435
@evalang4435 2 жыл бұрын
Absolutely perfect, thank you so much for this video
@RACHIMSAJA
@RACHIMSAJA 3 жыл бұрын
Very insightful! Thanks for the knowledge master🙏
@RoORou
@RoORou Жыл бұрын
Great video, thanks!
@barishazar5908
@barishazar5908 3 жыл бұрын
Useful content, poetic explanation...Suberb teacher
@monicaosetkowski1542
@monicaosetkowski1542 3 жыл бұрын
Mind blown! I need to try this. Thank you
@olgaitskova8542
@olgaitskova8542 2 жыл бұрын
This is amazing, thank you so much for this video!
@phoenixsandy74
@phoenixsandy74 3 жыл бұрын
Wow. This is so informative and useful.
@dariuszspiewak5624
@dariuszspiewak5624 3 жыл бұрын
Hi Alberto. I think it would stand to reason to also mention that if someone uses USERELATIONSHIP and/or CROSSFILTER, they should always make sure that such a manipulation does not transforms the model into an ambiguous one.
@gpdoc4699
@gpdoc4699 3 жыл бұрын
Very well explained. Thanks Alberto.
@DanielTavares29
@DanielTavares29 3 жыл бұрын
Ciao, friends! Enjoy DAX! Thanks for sharing
@sukoi2113
@sukoi2113 3 жыл бұрын
Very nicely explained. Thank you so much.
@wexwexexort
@wexwexexort 2 жыл бұрын
Great explanation. You just earned a new sub sir.
@Mrglasshalfempty
@Mrglasshalfempty 3 жыл бұрын
Holy crap I never would have thought of that in a million years! Thanks!!
@khaledtellopalacios3072
@khaledtellopalacios3072 11 ай бұрын
Great video
@whdea3426
@whdea3426 3 жыл бұрын
So, the filter actually applies the crossfilter at the backend, this was not known to me , thanks a lot
@tameraziz2104
@tameraziz2104 3 жыл бұрын
Thanks for sharing...
@oliveroshea5765
@oliveroshea5765 3 жыл бұрын
Alberto is the "data monster"!
@ajkrishna001
@ajkrishna001 2 жыл бұрын
Excellent very useful
@kg1610
@kg1610 3 жыл бұрын
Thanks for explaining this, much appreciated.
@kg1610
@kg1610 3 жыл бұрын
Alberto, can you read this thread on the same topic. If you have any thoughts please comment. www.reddit.com/r/PowerBI/comments/kqsy0v/filter_direction/ Thanks for all the insight you have been sharing.
@SQLBI
@SQLBI 3 жыл бұрын
You should avoid bidirectional filters in the model, use them in the measures only if possible. Best practices, workarounds, and explanations here: www.sqlbi.com/articles/syncing-slicers-in-power-bi/ www.sqlbi.com/articles/bidirectional-relationships-and-ambiguity-in-dax/
@bandaralqahtani4356
@bandaralqahtani4356 2 жыл бұрын
thank you so much for this incridable video :)
@shantanudeshmukh4390
@shantanudeshmukh4390 3 жыл бұрын
Such a nice explanation !!
@frankgovers8420
@frankgovers8420 3 жыл бұрын
Great, thx, great explanation... there are dax teachers who tell their students to put all the crossfilter in relations in both directions. Here is the reason why you never do this. Great alberto. ( who rides in a maserati! 😄)
@SQLBI
@SQLBI 3 жыл бұрын
It hurts to know that someone promotes bad practices teaching that!
@New2you09
@New2you09 3 жыл бұрын
Your videos are amazing.
@DanielADamico
@DanielADamico 3 жыл бұрын
Excellent Video as Always!!
@Ronnet
@Ronnet 5 ай бұрын
Would've liked to see the "welcome to hell" calculated metrics before and after removing the both directions relationship.
@future62
@future62 3 жыл бұрын
Thanks a ton for this
@djl8710
@djl8710 3 жыл бұрын
Excellent Video! Thanks!
@kennynguyennz
@kennynguyennz 3 жыл бұрын
It's really cool. Thanks for sharing.
@danielhowe4460
@danielhowe4460 4 ай бұрын
Thank you for providing this detailed video on ambiguous models. There isn't a lot of information out there, so this is very much appreciated. Though, I only see a problem if you have a model with two fact tables. If you keep things simple (single fact table, multiple dimension tables), there should be no opportunity for multiple paths, correct? Therefore the model wouldn't be ambiguous?
@user-qu3he1ed9e
@user-qu3he1ed9e 8 ай бұрын
I couldn't understand why filtering could make the data sync. Can you give me a simple example? By the way, Great video, thanks a lot.
@ivanovdmitry770
@ivanovdmitry770 3 жыл бұрын
Thank you for a great lesson
@goolamfareedbangie510
@goolamfareedbangie510 Жыл бұрын
This video is great but I'm not allowed to apply the measure on a visual if the visual is a card
@marilenadonofrio9787
@marilenadonofrio9787 3 жыл бұрын
Grazie! Chiarissimo come sempre.
@madroneroc
@madroneroc Жыл бұрын
Great, thanks! Would be interesting if you have a video on when is a good time to use bi-directional relationships?
@SQLBI
@SQLBI Жыл бұрын
Beside limited cases (like implementing security patterns or physical implementation of M2M cardinality relationships - see sqlbits.com/Sessions/Event18/Different_types_of_many-to-many_relationships_in_Power_BI), it's almost never a good idea to enable bidirectional filters in the model, while it makes perfect sense in specific measure where you can control the side effects of it.
@gabrielkn
@gabrielkn 3 жыл бұрын
Very, very well explained! *standing applause
@onboardcc2400
@onboardcc2400 2 жыл бұрын
well done
@marliearcellia1289
@marliearcellia1289 3 жыл бұрын
well explained. Thank you.
@nikakalichava8012
@nikakalichava8012 Жыл бұрын
great! thanx!
@elakkiyaselavngovindasamy596
@elakkiyaselavngovindasamy596 3 жыл бұрын
Great stuff 👍
Propagating filters using TREATAS in DAX
19:18
SQLBI
Рет қаралды 44 М.
黑天使遇到什么了?#short #angel #clown
00:34
Super Beauty team
Рет қаралды 36 МЛН
Magic trick 🪄😁
00:13
Andrey Grechka
Рет қаралды 32 МЛН
🚨 YOU'RE VISUALIZING YOUR DATA WRONG. And Here's Why...
17:11
Adam Finer - Learn BI Online
Рет қаралды 52 М.
Filter context in DAX explained visually
24:40
SQLBI
Рет қаралды 19 М.
Looking at Power BI Many to Many
8:47
Guy in a Cube
Рет қаралды 158 М.
Exploring the SEMANTIC MODEL in Power BI
27:30
How to Power BI
Рет қаралды 122 М.
3 Hacks to Work Faster in Power BI
25:39
How to Power BI
Рет қаралды 64 М.
When to use KEEPFILTERS over iterators
18:56
SQLBI
Рет қаралды 47 М.
Many to many issues and alternatives in Power BI
19:57
David Benaim
Рет қаралды 12 М.
Microsoft Power BI: The Do’s and Don’ts of Power BI Relationships - BRK3019
1:00:42