Data Modeling Trong Power BI: Star Schema, Relationships Và Best Practices
Chia sẻ
"Hiểu cách thiết kế mô hình dữ liệu chuẩn cho Power BI — Star Schema, Fact/Dimension tables, relationships, cardinality — quyết định 80% hiệu năng dashboard."
1. Tại Sao Data Modeling Quan Trọng?
Data Modeling là bước quan trọng nhất khi xây dựng báo cáo Power BI. Một mô hình dữ liệu tốt giúp:
DAX measures chạy nhanh hơn 10-100 lần
Công thức đơn giản và dễ bảo trì
Dashboard load nhanh, tương tác mượt
Dễ mở rộng khi thêm data sources mới
2. Star Schema — Mô Hình Ngôi Sao
Star Schema là mô hình dữ liệu chuẩn cho BI, gồm 2 loại bảng:
2.1. Fact Table (Bảng sự kiện)
Chứa dữ liệu giao dịch, sự kiện: đơn hàng, doanh thu, số lượng
Thường có nhiều dòng (hàng triệu rows)
Chứa foreign keys liên kết đến dimension tables
Ví dụ: FactSales, FactInventory, FactAttendance
2.2. Dimension Table (Bảng chiều)
Chứa thông tin mô tả: tên sản phẩm, danh mục, khu vực
Ít dòng hơn (hàng trăm đến hàng ngàn)
Chứa primary key dùng để join với fact table
Ví dụ: DimProduct, DimCustomer, DimDate, DimRegion
3. Relationships
3.1. Cardinality
Loại | Mô tả | Ví dụ |
|---|---|---|
1:N (One to Many) | Chuẩn nhất trong Star Schema | 1 Product → N Sales |
1:1 (One to One) | Ít dùng, thường nên merge | Employee ↔ EmployeeDetail |
M:N (Many to Many) | Tránh nếu có thể — gây lỗi logic | Student ↔ Course |
3.2. Cross Filter Direction
Single: Filter chỉ chảy từ Dimension → Fact (chuẩn)
Both: Filter chảy cả 2 chiều (cẩn thận, có thể gây ambiguity)
4. Best Practices
Luôn tạo Date Table riêng — không dùng date column trực tiếp trong fact table
Hide foreign keys trong fact table khỏi Report view
Tránh calculated columns — dùng measures thay thế khi có thể
Không dùng bi-directional relationships trừ khi thực sự cần
Remove unused columns để giảm kích thước model
5. Kết Luận
Data Modeling không hào nhoáng như tạo visual, nhưng nó quyết định 80% thành công của dashboard Power BI. Đầu tư thời gian thiết kế mô hình đúng từ đầu sẽ tiết kiệm rất nhiều effort sau này.
Bình luận
Đăng nhập để tham gia bình luận
Đăng nhậpNhận bài viết mới nhất
Đăng ký để nhận thông báo khi có bài viết mới. Không spam, chỉ kiến thức chất lượng.
Bài viết liên quan
Khám phá thêm các bài viết cùng chủ đề

DAX Từ Cơ Bản Đến Nâng Cao: CALCULATE, Time Intelligence Và Copilot
Hướng dẫn DAX Power BI toàn diện: từ khái niệm filter context, hàm CALCULATE + ALL/ALLEXCEPT, đến Time Intelligence (YTD, MTD, YoY). Cập nhật TABLEOF/NAMEOF mới nhất và cách dùng Copilot tạo DAX tự động.

