Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
Anonymous
Not applicable

Multiple Joins with Filters in DAX

I'm trying to recreate simple SQL query in DAX. The output Query needs to work in Power BI Report Builder paginated report and I have been trying all day reading all sorts of PowerBI / DAX online resources to rewrite this. A little bit about the data:

 

  • The data is structured in three tables: CostumCar, Engine and Chassis.
  • Basically "CarId" is the key that connects all three tables.
  • Lets assume all tables have more than 20 columns. so only a few of the columns are needed in the final output.
  • All three tables (CostumCar, Chassis and Engine) have IsActive property. (The relationship between Engine/Chassis to CostumCar is MANY-TO-ONE. Because an engine might blow up and they change it therefore somehow we want to track which Engine is on the car today and what engine was on it last year, however, at any time, there is only one active engine for each car. The same goes for Chassis)
  • Both Engine and Chassis have 'Manufacturer' and 'Model' columns so in the output query they need to be identified from each other.
  • I am not trying to sum any sort of sales number, just a list of cars with their current configuration.

 

 

Select
    CC.Name, CC.Model as 'CustomCarModel', CC.MaxSpeed,
    Ch.ChassisManufacturer as 'ChassisManufacturer', Ch.Model as 'ChassisModel', Ch.ManufacturedDate as 'ChassisManfDate',
    E.EngineManufactuer as 'EngineManufacturer', E.Model as 'EngineModel', E.Power, E.CylCount, E.ManufacturedDate
From CustomCars CC
Join Chassis Ch on Ch.CarID = CC.CarId
Join Engine E on E.CarID = CC.CarID
where
CC.IsActive = 1 and CC.FirstTestDriveYear < 1980 and
Ch.IsActive = 1 and
E.IsActive = 1​

 

 

… Any help is appreciated.

2 REPLIES 2
rfigtree
Resolver III
Resolver III

Hi, you asked how to write in DAx, but just in case.

 I don't use power bi report builder. But if you can use the power query part of bi it is simple, just merge the tables together, filter out unwanted rows, select columns you want. Same as the sql.

Anonymous
Not applicable

Thanks for the tip, unfortunately due the designed life cycle of paginated reports I have to write this query in report builder.

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.