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
v-anabat
Microsoft Employee
Microsoft Employee

How to design a better Power BI model with many tables?

Let's say if I have a model with snowflakes schema. An initial Table t1 which is connected to t2 and there are many tables which are connected to t2 (say t3,t4,t5,t6.......t25). Here t1 has higher level information, so mapping from t1 to t2 is 1 to many. Also from t2 to other tables relationship is 1 to many (and few cases bi-directional). Since we have too many tables(more than 20 which are joined on the same ID ) at t3 level, will it affect the performance of the model? So, is it better to have 2 tables of t2 so that we will have fewer number relations on the same ID and flow will be less?

 

Basically, my question here is if I have a table with more than 20 tables surrounding it, is it better to duplicate the surrounded table into 2 tables, and share the child tables for 2 tables for better performance.

sample image.PNG

1 ACCEPTED SOLUTION
v-frfei-msft
Community Support
Community Support

Hi @v-anabat ,

 

To optimize your model here are Some best practices:

  • Tables or columns that are unused should be removed if possible. 
  • Avoid distinct counts on fields with high cardinality – that is, millions of distinct values.  
  • Take steps to avoid fields with unnecessary precision and high cardinality. For example, you could split highly unique datetime values into separate columns – for example, month, year, date, etc. Or, where possible, use rounding on high-precision fields to decrease cardinality – (for example, 13.29889 -> 13.3).
  • Use integers instead of strings, where possible.
  • Be wary of DAX functions, which need to test every row in a table – for example, RANKX – in the worst case, these functions can exponentially increase run-time and memory requirements given linear increases in table size.

 

Regards,

Frank

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.

View solution in original post

3 REPLIES 3
v-frfei-msft
Community Support
Community Support

Hi @v-anabat ,

 

To optimize your model here are Some best practices:

  • Tables or columns that are unused should be removed if possible. 
  • Avoid distinct counts on fields with high cardinality – that is, millions of distinct values.  
  • Take steps to avoid fields with unnecessary precision and high cardinality. For example, you could split highly unique datetime values into separate columns – for example, month, year, date, etc. Or, where possible, use rounding on high-precision fields to decrease cardinality – (for example, 13.29889 -> 13.3).
  • Use integers instead of strings, where possible.
  • Be wary of DAX functions, which need to test every row in a table – for example, RANKX – in the worst case, these functions can exponentially increase run-time and memory requirements given linear increases in table size.

 

Regards,

Frank

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.

Hi @v-anabat ,

 

Does that make sense? If so, kindly mark my answer as the solution to close the case please. Thanks in advance.

 

Regards,
Frank

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.
LivioLanzo
Solution Sage
Solution Sage

Hi @v-anabat 

 

yes, for performance reasons it is better that you apply the second logic you have outlines and create less relationships. This would also make your model much easier to use and maintain 

 


 


Did I answer your question correctly? Mark my answer as a solution!


Proud to be a Datanaut!  

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