Dạo này mình làm báo cáo Power BI trên tập dữ liệu khá lớn, khoảng 1 triệu dòng, thì thấy tốc độ xử lý và hiển thị hơi chậm. Mình có thử một vài cách và thấy hiệu quả, nên muốn chia sẻ lại cho anh em trong diễn đàn để cùng tham khảo.
1. Giảm thiểu lượng dữ liệu cần tải:
- Chỉ chọn những cột thực sự cần thiết, loại bỏ các cột thừa.
- Sử dụng bộ lọc trong Power Query để chỉ tải những hàng dữ liệu cần thiết (ví dụ: chỉ tải dữ liệu của 2 năm gần nhất thay vì toàn bộ lịch sử).
2. Tối ưu hóa mô hình dữ liệu:
- Sử dụng kiểu dữ liệu phù hợp cho từng cột (ví dụ: số nguyên cho ID, ngày tháng cho cột ngày).
- Tránh tạo các mối quan hệ phức tạp, chỉ tạo khi thực sự cần thiết và đảm bảo đúng chiều mối quan hệ.
3. Viết DAX hiệu quả:
- Hạn chế sử dụng
CALCULATElồng nhau quá nhiều. - Ưu tiên các hàm có hiệu năng cao như
SUMX,AVERAGEXkhi cần duyệt qua từng hàng. - Sử dụng biến (variables) trong DAX để code dễ đọc và tối ưu hơn. Ví dụ:
VAR MaxSales = MAXX(Sales, Sales[Amount]) RETURN MaxSales4. Tắt tính năng tự động phát hiện mối quan hệ:
Trong Power BI Desktop, vào File > Options and settings > Options > Data Load, bỏ chọn Autodetect new relationships.
Anh em nào có thêm kinh nghiệm hay mẹo gì để tối ưu hiệu năng Power BI thì chia sẻ thêm nhé!