Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredJoin us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM. Register now.
Using the following example table
| Units | Unit Price |
| 1 | 100 |
| 2 | 300 |
| 1 | 100 |
| 3 | 300 |
| 1 | 100 |
While getting the weighted mean of unit price is fairly trivial
SUMX( Table, [Units] * [Unit Price] ) / SUM( Table[Units)
= 1800 / 8
= 225
I am trying to figure out the weighted mode which should equal 300, and am at a loss. Please help 🙂
Solved! Go to Solution.
Here's the long way of doing this:
Here's the long way of doing this:
@lbendlin, thanks for that. Your third example does not actually do a weighted average, as summarized is unordered. But the second one is cleaner than what I had actually ended up using:
Mode = MINX(
TOPN(
1,
ADDCOLUMNS(
VALUES( Table[Unit Price] ),
"Frequency",
CALCULATE( SUM( Table[Units] ) )
),
[Frequency],
0
),
Table[Unit Price]
)
That's actually a really good observation - I will need to investigate if SUMMARIZE() does any sorting or not. I thought it does 🙂
Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!
Check out the October 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 8 | |
| 6 | |
| 3 | |
| 3 | |
| 3 |
| User | Count |
|---|---|
| 11 | |
| 9 | |
| 8 | |
| 7 | |
| 7 |