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

Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now

Reply
jsuttmann
Helper I
Helper I

Table Visual Using Multiple Data Sources

I'm new to Power BI and am trying to build a Table visual using multiple connected data sources. The Matrix visual addresses this, but does not allow the formatting I need, so I'm trying to make this work with the Table visual. Where I need help is returning specific values based on ID, but my only options are First and Last.

 

HEADER: Data Source 1

HEADER_ID  EVENT
101A
102B
103C

 

DETAIL: Data Source 2

HEADER_ID (fk)  TYPE_ID  RESULT
10191abc
10192def
10291ghi
10292jkl
10391mno
10392pqr

 

I'm trying to get the results to show as follows in the Table visual:

EVENT  RESULTS-A (where TYPE_ID=91)  RESULTS-B (where TYPE_ID=92)
Aabcdef
Bghijkl
Cmnopqr

 

When I add the two RESULT fields, my only options are "First" and "Last", which can work but makes the assumption that the data is pre-sorted by TYPE_ID, which I can't guarantee. Is there a way to ensure that the two RESULT columns are returning the correct value based on TYPE_ID?

1 ACCEPTED SOLUTION
Greg_Deckler
Community Champion
Community Champion

@jsuttmann You could do something like this:

RESULTS-A Measure = 
  VAR __HeaderID = MAX('DataSource1'[HEADER_ID])
RETURN
  MAXX(FILTER('DataSource2',[HEADER_ID (fk)] = __HeaderID && [TYPE_ID] = 91),[RESULT])

RESULTS-B Measure = 
  VAR __HeaderID = MAX('DataSource1'[HEADER_ID])
RETURN
  MAXX(FILTER('DataSource2',[HEADER_ID (fk)] = __HeaderID && [TYPE_ID] = 92),[RESULT])


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

2 REPLIES 2
jsuttmann
Helper I
Helper I

Thank you @Greg_Deckler !  Even though I don't fully understand the syntax, the appears to work exactly as intended, regardless of the database order!  I appreciate your help

Greg_Deckler
Community Champion
Community Champion

@jsuttmann You could do something like this:

RESULTS-A Measure = 
  VAR __HeaderID = MAX('DataSource1'[HEADER_ID])
RETURN
  MAXX(FILTER('DataSource2',[HEADER_ID (fk)] = __HeaderID && [TYPE_ID] = 91),[RESULT])

RESULTS-B Measure = 
  VAR __HeaderID = MAX('DataSource1'[HEADER_ID])
RETURN
  MAXX(FILTER('DataSource2',[HEADER_ID (fk)] = __HeaderID && [TYPE_ID] = 92),[RESULT])


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

March Power BI Update Carousel

Power BI Community Update - March 2026

Check out the March 2026 Power BI update to learn about new features.