Your friends / colleagues can watch this session Live on ! Go to my Twitter profile: @Datatouille I pinned the Youtube url of the session
Speaker Tristan Malherbe Power BI Consultant at AZEO Power BI User Group Leader: Club Power BI, France Power BI Data Stories Publisher Follow me on Linkedin and Twitter (@Datatouille)
Power BI User Group (PUG) Copenhagen Welcome ! Power BI User Group (PUG) Copenhagen
Tristan Malherbe Power BI Consultant and User Group Leader Many to Many in DAX Tristan Malherbe Power BI Consultant and User Group Leader
The Issue
Agenda Tabular modelling best practices Use Case Comparaison & Conclusion
Tabular Modelling (1/2) Star Schema Denormalized Dimensions In-memory columnar storage: Vertipaq engine Double advantage: - Optimized Storage - Easier analysis
Tabular Modelling (2/2) Relationship conditions Relationship direction Common Key Uniqueness from (at least) one side of the relationship Relationship direction One Many : From Dimensions to Facts
Use Case Presentation
M2M: Between Two Fact Tables Solution: Finding (at least) a common Dimension with identical grain 1 1 * 1 1 * * *
M2M: Between a Fact Table and a Dimension Table 1st Step: Creating a Bridge table 1 1 * * * 2nd step: Using DAX language – 4 methods
Bi-directional Filtering 1. At Data Model level Available on Power BI Desktop and SSAS 2016. Simple but « expensive » and generates ambiguous models Acceptable in a single fact table model 2. At Measure level Dax Pattern: = Calculate ( [Measure] , CrossFilter ( ManySide , OneSide , Both ) ) Available on Excel 2016, Power BI Desktop and SSAS 2016. Local impact but need to replicate your efforts.
Context Transition Method 3. A Method purely based on contexts Row Context Filter Context thanks to the power of the Calculate () DAX function Dax Pattern: = Calculate ( [Measure] , Filter ( LeftDim , Calculate( Countrows(Bridge) ) > 0 ) ) Explanation: Filter Expression Calculate( Countrows(Bridge) ) > 0 Available on Excel 2010, 2013, 2016, SSAS et Power BI Desktop
Bridge Method 4. A Method based on the concept of « expanded tables » Dax Pattern: = Calculate ( [Measure] , Bridge ) The Bridge table inherits the columns coming from its dimensions Available on Excel 2010, 2013, 2016, SSAS and Power BI Desktop
The best method ? Bridge Bonus: Pro-rating each trainer’s turnover