Mô hình hóa & star schema
Star schema (lược đồ sao) là cách tổ chức dữ liệu được Microsoft khuyến nghị cho mọi mô hình Power BI — tách dữ liệu thành bảng fact (sự kiện/giao dịch) và bảng dimension (chiều mô tả). Đây là quyết định thiết kế quan trọng nhất, ảnh hưởng tới hiệu năng, độ đúng và khả năng mở rộng của toàn bộ báo cáo.
Hai loại bảng
Phần tiêu đề “Hai loại bảng”Bảng Fact (sự kiện)
Phần tiêu đề “Bảng Fact (sự kiện)”- Ghi các giao dịch/sự kiện đo lường được: đơn hàng, doanh thu, số lượng…
- Nhiều hàng (hàng triệu), ít cột; chứa khóa ngoại trỏ tới các dimension + các cột số (measures).
- Ví dụ:
Sales(DateKey, ProductKey, CustomerKey, Quantity, Amount).
Bảng Dimension (chiều)
Phần tiêu đề “Bảng Dimension (chiều)”- Mô tả các đối tượng: sản phẩm, khách hàng, thời gian, khu vực.
- Ít hàng, nhiều cột mô tả; có khóa chính.
- Ví dụ:
Product(ProductKey, Tên, Nhóm, Thương hiệu).
Hình dạng “ngôi sao”
Phần tiêu đề “Hình dạng “ngôi sao””Bảng fact ở trung tâm, các dimension xung quanh nối vào qua quan hệ một-nhiều:
Date |Product — Sales — Customer | StoreVì sao star schema thắng
Phần tiêu đề “Vì sao star schema thắng”| Tiêu chí | Star schema | Bảng phẳng (một bảng to) |
|---|---|---|
| Hiệu năng | ⭐⭐⭐ (engine tối ưu cho dạng này) | Chậm hơn khi lớn |
| Dung lượng | Nén tốt (dimension nhỏ) | Lặp dữ liệu, phình to |
| DAX | Đơn giản, đúng | Phức tạp, dễ sai |
| Bảo trì | Rõ ràng, dễ mở rộng | Khó sửa |
Nguyên tắc thực hành
Phần tiêu đề “Nguyên tắc thực hành”- Đừng dùng một bảng phẳng khổng lồ — dù dữ liệu đến dạng đó, hãy tách ở Power Query.
- Mỗi dimension một bảng; bảng Date riêng (bắt buộc cho time intelligence).
- Tránh snowflake (dimension tách thành nhiều tầng) khi không cần — gộp lại cho gọn.
- Khóa quan hệ nên là số nguyên (integer) để nén & nối nhanh.