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!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Just had an issue in connecting 2 tables(both from Snowflake connector) using keys and found something unexpected...
I was expecting a one-to-many relationthip (1 reservation ID to many payment IDs) but I realised in Power BI I had a few duplicate values for 'Reservation ID' column in Reservation table. Upon deeper look, I noticed case sensitive is not being respected in Power BI. I am just perplexed with no clear path to work around this at the moment..
For example,
the key value as below is counted twice in Power BI;
'ahNzfnNldmVucm9vbXMtc2VjdXJlciULEhtuaWdodGxvb3BfUmVzZXJ2YXRpb25BY3R1YWwY1PGxxjIM'
yet in Snowflake, they are indeed 2 different keys by case sensitivity.
'ahNzfnNldmVucm9vbXMtc2VjdXJlciULEhtuaWdodGxvb3BfUmVzZXJ2YXRpb25BY3R1YWwY1pGXxjIM'
'ahNzfnNldmVucm9vbXMtc2VjdXJlciULEhtuaWdodGxvb3BfUmVzZXJ2YXRpb25BY3R1YWwY1PGxxjIM'
Has anyone experienced this issue before? I would not think that there is a limit in terms of number of characters Power BI can respect the case sensitivity within 1 string...
It will be greatly appreciated, if anyone could shed a light please...
Solved! Go to Solution.
Hi @BIisPower ,
The issue occurs because Power BI’s data model is case-insensitive, while Snowflake is case sensitive. That’s why two Reservation ID values that differ only by case appear as duplicates in Power BI, even though they are genuinely different in Snowflake. Using UPPER() or LOWER() won’t work here, because it would collapse distinct IDs. A practical way to handle this is to create a composite key in Power Query by combining Reservation ID with another column like a timestamp or index, and use this key for relationships while keeping the original Reservation ID for visuals. Alternatively, you can handle it in Snowflake by creating a view or query that generates a unique key for each row while retaining the original IDs. This ensures that the one to many relationships work correctly and all case sensitive distinctions from Snowflake are preserved.
Hi @BIisPower ,
I would also take a moment to thank @Praful_Potphode , for actively participating in the community forum and for the solutions you’ve been sharing in the community forum. Your contributions make a real difference.
I wanted to check if you had the opportunity to review the information provided. Please feel free to contact us if you have any further questions
Hi @BIisPower ,
I hope the information provided above assists you in resolving the issue. If you have any additional questions or concerns, please do not hesitate to contact us. We are here to support you and will be happy to help with any further assistance you may need.
Hi @BIisPower ,
This issues has been observed in lot many snowflake -powerbi implementations recently.
Snowflake treats these as separate values where as Power BI considers them same.
in power bi, we have to convert all the values to uppercase/lowercase/capitalize using powerquery and then remove duplicates.then the relationship will work as expected.
Let me know if this resolves your issue.
Please give Kudos or mark it as resolved once confirmed.
Thanks and Regards,
Praful
Thanks Praful for your reply. However, they are not duplicate values(genuine different transactions/events) hence deduping after operation as such upper or lower cannot solve this issue at all...
Hi @BIisPower ,
The issue occurs because Power BI’s data model is case-insensitive, while Snowflake is case sensitive. That’s why two Reservation ID values that differ only by case appear as duplicates in Power BI, even though they are genuinely different in Snowflake. Using UPPER() or LOWER() won’t work here, because it would collapse distinct IDs. A practical way to handle this is to create a composite key in Power Query by combining Reservation ID with another column like a timestamp or index, and use this key for relationships while keeping the original Reservation ID for visuals. Alternatively, you can handle it in Snowflake by creating a view or query that generates a unique key for each row while retaining the original IDs. This ensures that the one to many relationships work correctly and all case sensitive distinctions from Snowflake are preserved.
Hi @BIisPower ,
I wanted to check if you had the opportunity to review the information provided. Please feel free to contact us if you have any further questions.
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
Check out the November 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 59 | |
| 46 | |
| 42 | |
| 23 | |
| 18 |
| User | Count |
|---|---|
| 193 | |
| 123 | |
| 99 | |
| 67 | |
| 49 |