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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

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
Super User
Super User

@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])

@ 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!:
The Definitive Guide to Power Query (M)

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
Super User
Super User

@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])

@ 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!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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