Reducing Power BI File Size β A Complete Guide
Power BI files (.pbix) can become large due to excessive data, high-cardinality columns, unnecessary visuals, complex DAX calculations, or inefficient modeling. A large file size can slow down report performance, increase refresh time, and make sharing difficult.
This guide provides a detailed, step-by-step walkthrough of the best techniques to reduce Power BI file size and optimize performance.
πΉ Why Reduce Power BI File Size?
β
Improves report performance β Faster loading time
β
Optimizes memory usage β Efficient processing
β
Enhances dataset refresh speed β Reduces refresh failures
β
Easier sharing and publishing β Faster cloud uploads
β
Reduces Power BI Premium costs β Efficient resource utilization
Section 1: Checking File Size and Storage Usage
Before optimizing, you need to analyze why the file is large.
πΉ Step 1: Check Power BI File Size
1οΈβ£ Open the Power BI .pbix file
2οΈβ£ Click on File β Save As
3οΈβ£ The file size is displayed before saving
πΉ Step 2: Check Data Model Storage
1οΈβ£ Click on File β Options and Settings β Options
2οΈβ£ Under Current File, select Data Load
3οΈβ£ Look at Storage Mode (Import / DirectQuery / Hybrid)
4οΈβ£ Use DirectQuery for external data sources to reduce file size
πΉ Step 3: Analyze Dataset Size in VertiPaq Analyzer
VertiPaq Analyzer (available in DAX Studio) helps identify large tables and columns consuming memory.
1οΈβ£ Download DAX Studio (https://daxstudio.org/)
2οΈβ£ Open your Power BI file
3οΈβ£ Click on External Tools β DAX Studio
4οΈβ£ Select View Metrics β Advanced Tab
5οΈβ£ Look at Table Size, Column Size, and Data Cardinality
6οΈβ£ Identify which tables/columns are consuming most of the space
β Result: Now you know which elements need optimization.
Section 2: Removing Unnecessary Data
One of the biggest reasons for large Power BI files is storing unused tables, columns, or rows.
πΉ Step 1: Remove Unused Tables
1οΈβ£ Open Power BI Desktop
2οΈβ£ Click Model View
3οΈβ£ Identify tables not used in any visuals or relationships
4οΈβ£ Delete them from Power Query (Transform Data β Remove Table)
πΉ Step 2: Remove Unused Columns
1οΈβ£ Open Power Query Editor (Transform Data
)
2οΈβ£ Identify columns that are not used in calculations or visuals
3οΈβ£ Select the columns β Click Remove Columns
πΉ Step 3: Remove Unnecessary Rows
If your dataset contains historical data or unwanted records, filter them out.
1οΈβ£ Go to Power Query
2οΈβ£ Click Home β Keep Rows β Keep Top Rows (if only recent data is needed)
3οΈβ£ Use Date Filters to exclude old records
β Result: Smaller dataset with only required data.
Section 3: Reducing Column Cardinality
Columns with high cardinality (unique values) take up more memory in Power BI’s VertiPaq engine.
πΉ Step 1: Convert High-Cardinality Columns
1οΈβ£ Identify columns with many unique values (e.g., Transaction ID, DateTime)
2οΈβ£ Replace detailed IDs with categorical values
- Instead of “OrderID” (numeric ID per row), use “OrderCategory”
- Instead of “Exact DateTime”, round to “Date” or “Hour”
πΉ Step 2: Optimize Text Columns
1οΈβ£ Convert long text fields into numeric category codes
2οΈβ£ Avoid storing unnecessary long descriptions
β
Example:
β “2025-03-05 14:23:45” β β
“2025-03-05”
β “Customer Name: John Doe” β β
“Customer ID: 123”
β Result: Less storage needed for high-cardinality columns.
Section 4: Changing Data Storage Mode
Power BI supports different storage modes that impact file size:
- Import Mode β Stores all data inside Power BI (Larger file size)
- DirectQuery Mode β Connects live to the source (Smaller file size)
- Hybrid Mode β Mix of both
πΉ Step 1: Switch to DirectQuery
If your dataset is large, switch from Import Mode to DirectQuery.
1οΈβ£ Click Model View
2οΈβ£ Select a table
3οΈβ£ In Properties, change Storage Mode to DirectQuery
4οΈβ£ Apply changes
β Result: Data is no longer stored inside Power BI, reducing file size.
Section 5: Optimizing DAX Measures
Complex DAX calculations can increase memory usage.
πΉ Step 1: Replace Calculated Columns with Measures
- Calculated Columns are stored in the model β Increases file size
- Measures are calculated dynamically β Doesnβt increase file size
β Example:
β Calculated Column (BAD)
SalesTotal = Orders[Quantity] * Orders[UnitPrice]
β Measure (GOOD)
SalesTotal = SUMX(Orders, Orders[Quantity] * Orders[UnitPrice])
πΉ Step 2: Avoid Unused Measures
1οΈβ£ Click Model View
2οΈβ£ Identify measures not used in visuals
3οΈβ£ Delete unused measures
β Result: File is optimized without extra calculations.
Section 6: Removing Unused Visuals and Pages
Unused visuals consume memory even if not displayed.
πΉ Step 1: Remove Extra Pages
1οΈβ£ Open Power BI Desktop
2οΈβ£ Click Pages (bottom panel)
3οΈβ£ Right-click unused pages β Click Delete
πΉ Step 2: Remove Complex Visuals
1οΈβ£ Avoid using too many slicers, filters, and custom visuals
2οΈβ£ Use default visuals instead of heavy third-party visuals
3οΈβ£ Reduce the number of data points in charts
β Result: Improved report performance and smaller file size.
Section 7: Compressing Power BI File
After cleaning up your data, compress the file further.
πΉ Step 1: Turn Off Auto Date/Time
1οΈβ£ Click File β Options β Data Load
2οΈβ£ Disable Auto Date/Time
πΉ Step 2: Enable Data Reduction in Power Query
1οΈβ£ Open Power Query Editor
2οΈβ£ Click Transform β Reduce Rows
3οΈβ£ Use Remove Duplicates
β Result: More optimized Power BI file.
Conclusion
Reducing Power BI file size improves performance and makes reports easier to manage.
Quick Summary of Optimization Steps
β Remove unnecessary tables, columns, and rows
β Reduce column cardinality (convert high-cardinality columns)
β Switch to DirectQuery instead of Import Mode
β Optimize DAX calculations (use Measures instead of Calculated Columns)
β Remove unused visuals, pages, and filters
β Enable compression settings
πΉ Final Tip: Regularly review your Power BI file and remove unused elements to keep it lightweight and efficient.