Why many-to-many relationships are evil – Junction tables / Bridge tables

Why does Power BI hate many-to-many relationships? Despite the title (that did its job in getting your attention) many-to-many relationships *-* are not necessarily evil. However, modeling your data in a manner that avoids many-to-many relationships helps in a lot of scenarios with data consistency, among other things. Let’s dive into this using the ancient…

Data modeling problem: Events in Progress in Human Resources data – Dealing with employees who change teams

I have a data modeling conundrum. It concerns records in a dimension that have start- and enddates. I’ve heard people refer to this type of problem as the “events in progress”-problem. My specific version of this problem goes like this: Imagine you have a sales fact table called FactSales with a date, an employee who…

3 Types of fact tables

I am rereading The Data Warehouse Toolkit by Kimball and Ross and would like to share something interesting concerning fact tables. According to the book, there are 3 main types of fact tables: A transaction fact table inserts a new record for every transaction that takes place. An obvious example would be a sales fact…