Join 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!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
Hi All,
I need help in reporting discrepancies in the data that is between different systems.
So, for example, I have a source system (Table A) which has information as follows.
Name | Id | Course | |
Tom | 123 | Tom@mail.com | CS_1 |
Mini | 124 | Mini@mail.com | CS_2 |
Arya | 125 | Arya@mail.com | CS_1 |
An intermediate system (Table B)
Name | Id | Course | |
Tom | 123 | Tom@mail.com | CS_1 |
Mini | 124 | Mini@mail.com | CS_1 |
Arya | 125 | Arya@mail.com | CS_1 |
And a destination System (Table C)
Name | Id | Course | |
Tom | 123 | Tom@mail.com | CS_1 |
Mini | 124 | Mini@mail.com | CS_1 |
Arya | 125 |
| CS_1 |
As you can see that the Course for Mini has flown down incorrectly from Table B and Arya is missing the email in Table C. I want to be able to report these mismatches in the form of a visual (Pie chart ) which shows red as the mismatch count and when I click on it I can drill down to seeing what are the values that don’t match.
Do you have any suggestions or best practices to report this incorrect data flow?
Thanks,
Chris
My solution can't 100% meet your request.
Use lookup value to get email and course value from TA and TB
email from TB = LOOKUPVALUE('TB'[Email],TB[Name],TC[Name])
Then compare if TC = TB and TC = TA
iscorrect = if(TC[Email]=TC[email from TA]&&TC[Email]=TC[email from TB]&&TC[Course]=TC[course from TA]&&TC[Course]=TC[course from TB],"Correct", "Wrong")
Then create a pie chart.
Legend: iscorrect
Details: name
Values: count of iscorrect
Hope this is helpful.
Proud to be a Super User!
LOOKUPVALUE is a great approach. Another approach is to use TREATAS where you impose the parameters of the desired pattern onto the table to be tested, and the gaps will then be shown (or rather you will see stuff missing) as a result.
@Chris1234 it can be super easy if you clarify the following points:
- ID column is unique in all these 3 Tables?
- what are we checking for incorrect/mismatch, email only?
- Are we comparing the value of only Table C with Table A and Table B? What happens if there is a mismatch between Table A & Table B or that will never happen? If there will be never a mismatch between Table A & Table B, it means we can compare Table C with any one of Table A & Table B.
Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!
Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo
If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤
Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.
Hi @parry2k ,
Here are the answers to your questions:
1. Yes ID column is unique in all 3 tables.
2. Nope, mismatch could be in any of the fields email, course, name ect.
3. There is a mismatch between Table A and Table B in this case.
I basically want to report anything that has a mismatch when data flows between the three tables. It would be great if the able numbers are scaleable.
Hope that answers your question.
Kind Regards,
Chris