This is best Fabric, Power BI, SQL and AI community event. How do we know? The last event sold out! Save €200 with code FABCMTY200.
Register nowA new Data Days event is coming soon! This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. Don't miss out.
I'd like to create measures to calculate the counts of Sports within AllSports from Table 1 as well as then average rating and sentiment for each of the Sports in Table 2. For example for football - the count is 2, avg rating is 4, avg sentiment is 0.2.
I wanted to calculate these measures so that i can then create a bubble chart showing each sport, sized by the count, and with the avg rating and sentiment on my x and y axes.
I don't want to create a measure to count for each sport, because then there may be a ton of measures.
@ImkeF I had seen you had a number of similar solutions for other people but i couldnt figure how to adapt for my case.
Table 1:
| Rating | Sentiment | AllSports |
| 4 | 0.6 | Hockey, Frisbee, Golf |
| 5 | 0.3 | Golf, Tennis |
| 3 | 0.2 | Rugby, Hockey |
| 5 | 0.5 | Golf |
| 3 | 0.3 | Football |
| 5 | 0.1 | Football, Golf |
Table 2:
| Sports |
| Hockey |
| Frisbee |
| Golf |
| Tennis |
| Rugby |
| Football |
Solved! Go to Solution.
Hi @jvirgi ,
You can create 2 measures for calculating average of rating and sentiment as below:
Avg rating =
SUMX (
FILTER (
'Table 1',
SEARCH ( MAX ( 'Table 2'[Sports] ), 'Table 1'[AllSports], 1, 0 ) > 0
),
'Table 1'[Rating]
)
/ COUNTROWS (
FILTER (
'Table 1',
SEARCH ( MAX ( 'Table 2'[Sports] ), 'Table 1'[AllSports], 1, 0 ) > 0
)
)Avg sentiment =
SUMX (
FILTER (
'Table 1',
SEARCH ( MAX ( 'Table 2'[Sports] ), 'Table 1'[AllSports], 1, 0 ) > 0
),
'Table 1'[Sentiment]
)
/ COUNTROWS (
FILTER (
'Table 1',
SEARCH ( MAX ( 'Table 2'[Sports] ), 'Table 1'[AllSports], 1, 0 ) > 0
)
)Best Regards
Rena
Hi @jvirgi ,
You can create 2 measures for calculating average of rating and sentiment as below:
Avg rating =
SUMX (
FILTER (
'Table 1',
SEARCH ( MAX ( 'Table 2'[Sports] ), 'Table 1'[AllSports], 1, 0 ) > 0
),
'Table 1'[Rating]
)
/ COUNTROWS (
FILTER (
'Table 1',
SEARCH ( MAX ( 'Table 2'[Sports] ), 'Table 1'[AllSports], 1, 0 ) > 0
)
)Avg sentiment =
SUMX (
FILTER (
'Table 1',
SEARCH ( MAX ( 'Table 2'[Sports] ), 'Table 1'[AllSports], 1, 0 ) > 0
),
'Table 1'[Sentiment]
)
/ COUNTROWS (
FILTER (
'Table 1',
SEARCH ( MAX ( 'Table 2'[Sports] ), 'Table 1'[AllSports], 1, 0 ) > 0
)
)Best Regards
Rena
@Anonymous Thanks! This is exactly what i was looking for.
However i notice when i also try to make a donut chart of the breakout of the Count of sports, i dont get anything when i use Table2[Sports] as my legend and the countrows measure as my Values.
Not sure if this is why but when i just create a matrix table for Sport, Count of sports, Avg rating, Avg sentiment, the table totals shows the value from only the final row in the table rather than an average across all rows.
@Anonymous Actually it was my mistake, the donut chart worked fine... i had it setup wrong.
But do you know why the matrix table totals show only the final rows value?
Hi @jvirgi ,
I've created this file as an example: Download PBIX
I used Power Query to split the sport in new rows.
Ricardo
Check out the May 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
| User | Count |
|---|---|
| 27 | |
| 26 | |
| 22 | |
| 19 | |
| 17 |
| User | Count |
|---|---|
| 48 | |
| 46 | |
| 41 | |
| 21 | |
| 18 |