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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
WishAskedSooner
Continued Contributor
Continued Contributor

Help Debugging an MMR Data Model

Hi Experts!

 

I am having trouble debugging one of my reports which deploys a MMR.

 

My data model has two fact tables joined by a MMR and the usual star schema. When filtered properly, the two tables are one-to-one. However, something strange is going on.

 

Here is a snippet of my data with a Category applied from one of the Dimension Tables. Under the Category are the X-Axis Values. The next column are the Y-Axis Values, and I have added the ID that the two fact tables are joined on as well as a RowCount. As you can, each row is one-to-one (RowCount = 1), so all is good. Now, please pay close attention to the two highlighted rows which corresponsd to X-Axis Values 7.05 and 1.50, and IDs 4522 and 4408.

WishAskedSooner_0-1741278258955.png

This is the same table as above but with the Category removed. Not much has changed except for the row with X-Axis Value of 1.50. If you look closely the ID jumped from 4408 to 8930, an increase of exactly 4522. Thus, it appears that the row with X-Axis Value of 7.05 and ID 4522 (highlighted) is now showing up twice in the table even though the X-Axis Values are different. And the Y-Axis Value and RowCount corroborate this because the highlighted Y-Axis Values in the table above, 0.2331 and 0.0054, above add up to the highlighted Y-Axis Value in the table below, 0.2385.

WishAskedSooner_1-1741278371789.png

Any ideas why PBI is doing this? What next from a debugging standpoint? Thanks in advance for the help!

6 REPLIES 6
v-sdhruv
Community Support
Community Support

Hi @WishAskedSooner ,
Just wanted to check if you had the opportunity to review the suggestion provided?
If the response has addressed your query, please accept it as a solution and give a 'Kudos' so other members can easily find it.
Thank You

v-sdhruv
Community Support
Community Support

Hi @WishAskedSooner ,
Just wanted to check if you had the opportunity to review the suggestion provided?
If the response has addressed your query, please accept it as a solution and give a 'Kudos' so other members can easily find it.
Thank You

v-sdhruv
Community Support
Community Support

Hi @WishAskedSooner ,
Just wanted to check if you had the opportunity to review the suggestion provided?
If the response has addressed your query, please accept it as a solution and give a 'Kudos' so other members can easily find it.
Thank You

v-sdhruv
Community Support
Community Support

Hi @WishAskedSooner ,

In the filtered view (with Category applied), things are behaving as one-to-one — so no duplicates.
But when you remove the Category filter, you lose a constraint that kept the one-to-one behavior.
As a result, rows can multiply because the MMR allows cross-joining when the filter context is incomplete.
In MMR, if both sides are not strictly unique for the join field (even after filtering),
then when filters are removed (e.g., when removing Category),
the engine cannot enforce a one-to-one mapping anymore.

In a regular star schema: Facts are filtered through Dimensions, but in a MMR schema, the relationship is ambiguous unless very tight filters are kept. This causes double-counting unless you use tighter filters like summarazie function.

To fix this:

1. Check for ID uniqueness after removing Category.
You should create a simple DAX measure like:

ID Row Count =
COUNTROWS(
SUMMARIZE(
'YourFactTable',
'YourFactTable'[ID]
)
)
This will tell you how many unique IDs you actually have after removing filters.
If the count goes up, it confirms duplicates were introduced.

2. Force 1-to-1 behavior manually using DAX.
If you have a measure that's summing Y-Axis values,
wrap it with something that enforces grouping on ID before summing.

Example:
Safe Y-Axis Sum =
SUMX(
SUMMARIZE(
'YourFactTable',
'YourFactTable'[ID],
"Y axis value", MAX('YourFactTable'[Y-Axis Value])
),
[Y axis value]
)

Hope this helps!
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

WishAskedSooner
Continued Contributor
Continued Contributor

Sorry my explanation is hard to follow. I tried my best to make it as clear as possible.

 

I was worried someone would come in with your response. My model is over 100 MB in size and figuring out how to post sample model/data would be a project in itself.

 

However, I was hoping that someone could at least give some clues on how to debug next.

 

I will try to edit my post above to see if I can make the problem clearer.

Greg_Deckler
Community Champion
Community Champion

@WishAskedSooner Almost impossible to debug without a sample model/data. Sorry, having trouble following, can you post sample data as text and expected output?
Not really enough information to go on, please first check if your issue is a common issue listed here: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882

Also, please see this post regarding How to Get Your Question Answered Quickly: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

The most important parts are:
1. Sample data as text, use the table tool in the editing bar
2. Expected output from sample data
3. Explanation in words of how to get from 1. to 2.



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
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors
Top Kudoed Authors