Forum Discussion
Merge taking too much time and refresh is failing
- 10 months ago
Hi Anonymous,
Merging 7 million rows with another large table will always be slow in Power BI. Here are couple of options you can try:
Best approach - Merge at the source:
- Use SQL/Database views: If both tables are from the same database, create a SQL view that joins them and import that single view into Power BI
- Push the merge to the data source: This is 100x faster than Power Query merging
If you must merge in Power BI:
- Reduce rows before merging: Apply filters to both tables BEFORE the merge step to reduce row count
- Remove unnecessary columns: Keep only the columns you need from each table before merging
- Check data types: Ensure join keys are the same data type (both text or both numbers) - mismatches cause performance issues
- Use Table.Buffer: Before the merge step, add Table.Buffer(YourTable) to load the smaller table into memory first
Alternative architecture:
- Use DirectQuery: Instead of importing, use DirectQuery mode - the database handles the join
7M x 7M rows is beyond Power Query's best practise. You really need database-level joining.
Best regards!
PS: If you find this post helpful consider leaving kudos or mark it as solution
Hi Anonymous,
Merging 7 million rows with another large table will always be slow in Power BI. Here are couple of options you can try:
Best approach - Merge at the source:
- Use SQL/Database views: If both tables are from the same database, create a SQL view that joins them and import that single view into Power BI
- Push the merge to the data source: This is 100x faster than Power Query merging
If you must merge in Power BI:
- Reduce rows before merging: Apply filters to both tables BEFORE the merge step to reduce row count
- Remove unnecessary columns: Keep only the columns you need from each table before merging
- Check data types: Ensure join keys are the same data type (both text or both numbers) - mismatches cause performance issues
- Use Table.Buffer: Before the merge step, add Table.Buffer(YourTable) to load the smaller table into memory first
Alternative architecture:
- Use DirectQuery: Instead of importing, use DirectQuery mode - the database handles the join
7M x 7M rows is beyond Power Query's best practise. You really need database-level joining.
Best regards!
PS: If you find this post helpful consider leaving kudos or mark it as solution
- Anonymous10 months agoNot applicable
Thanks for your response, will check and come back.
Record count is 700K not 7M. It's should not be too much for power BI, I beleive.
Regards,
Girdhari
- raisurrahman10 months ago
Helper II
Anonymous
To improve performance and efficiency, I recommend optimizing the right-hand table before merging. Please selectively keep only the essential columns from that table, discarding any that are not needed for the join or final result. Merging all 700K rows with excessive columns may be causing overhead.