Data Model là xương sống của mọi báo cáo và phân tích dữ liệu hiệu quả, đặc biệt khi làm việc với Power BI. Hiểu và xây dựng một Data Model vững chắc là bước quan trọng nhất để biến dữ liệu thô thành những thông tin chi tiết (insights) có giá trị, nhanh chóng và chính xác. Toàn bộ thông tin về Data Modeling sẽ được Starttrain giải đáp tất tần tật dứoi đây.
Data Modeling là gì?
Data Model (Mô hình Dữ liệu) là cấu trúc định nghĩa các mối quan hệ logic giữa các bảng dữ liệu (tables) và các cột (columns) trong một hệ thống phân tích.
Nói một cách đơn giản, Data Model cho Power BI biết cách các phần dữ liệu khác nhau được kết nối với nhau. Nó giống như bản thiết kế kiến trúc của một ngôi nhà (báo cáo của bạn), đảm bảo mọi phòng (bảng dữ liệu) đều được đặt đúng chỗ và kết nối hợp lý.

Các thành phần chính cấu thành Data Model
Một Data Model được xây dựng dựa trên sự kết hợp của các khái niệm cơ bản sau đây. Nắm vững các thuật ngữ này là bước đầu tiên để thiết kế một mô hình hiệu quả:
- Thực thể (Entities) / Bảng (Tables):
- Là các đối tượng quan trọng trong thế giới thực mà chúng ta muốn theo dõi và biểu diễn trong mô hình dữ liệu.
- Trong môi trường kỹ thuật (như Power BI), Thực thể được thể hiện dưới dạng Bảng (Tables), ví dụ: Bảng Khách hàng, Bảng Đơn hàng, Bảng Sản phẩm.
- Thuộc tính (Attributes) / Cột (Columns):
- Là các đặc điểm mô tả của một Thực thể.
- Trong các bảng, thuộc tính xuất hiện dưới dạng Cột (Columns), ví dụ: Trong bảng Sản phẩm, các thuộc tính là Mã sản phẩm, Tên sản phẩm, Giá bán.
- Bản ghi (Records) / Hàng (Rows):
- Đại diện cho một thể hiện cụ thể của một Thực thể.
- Trong bảng, Bản ghi được hiển thị dưới dạng Hàng (Rows). Ví dụ: Một hàng trong Bảng Khách hàng lưu trữ toàn bộ dữ liệu của một khách hàng cụ thể (ID, tên, địa chỉ).
- Mối quan hệ (Relationships):
- Xác định sự liên kết logic giữa các Thực thể (bảng).
- Mối quan hệ này cho hệ thống biết cách một sự kiện (trong bảng Fact) liên quan đến các đặc điểm mô tả (trong bảng Dimension), ví dụ: mối quan hệ giữa Bảng Khách hàng và Bảng Đơn hàng.
- Tính liên kết (Cardinality):
- Đề cập đến số học của mối quan hệ, tức là số lượng thể hiện của một thực thể có thể liên quan đến số lượng thể hiện của thực thể khác.
- Các loại chính là: Một-Một (1:1), Một-Nhiều (1:N), và Nhiều-Nhiều (N:M). Ví dụ: Mối quan hệ 1:N giữa Danh mục và Sản phẩm (một Danh mục chứa nhiều Sản phẩm).
- Khóa chính (Primary Key – PK):
- Là định danh duy nhất của mỗi bản ghi trong một bảng.
- Giá trị của Khóa Chính không được trùng lặp và không được phép để trống (NULL). Nó đảm bảo rằng mỗi hàng dữ liệu có thể được truy cập và tham chiếu riêng biệt.
- Khóa ngoại (Foreign Key – FK):
- Là một cột (hoặc tập hợp các cột) trong một bảng, có giá trị tham chiếu đến Khóa Chính của một bảng khác.
- Khóa Ngoại thiết lập liên kết giữa hai bảng, là cơ chế để thực hiện Mối quan hệ đã định nghĩa trong mô hình.

Các loại mô hình dữ liệu phổ biến
Trong quá trình phát triển hệ thống thông tin, các nhà thiết kế dữ liệu thường đi qua ba giai đoạn mô hình hóa, mỗi giai đoạn cung cấp một mức độ chi tiết khác nhau:
Mô hình dữ liệu khái niệm (Conceptual Data Model)
Đây là giai đoạn tổng quát nhất của quy trình mô hình hóa, tập trung vào “Bức tranh lớn” của doanh nghiệp.
- Mục tiêu cốt lõi: Xác định phạm vi dữ liệu và các yêu cầu nghiệp vụ cấp cao. Nó giúp nắm bắt được các thực thể chính mà doanh nghiệp quan tâm.
- Mức độ chi tiết: Rất tổng quát. Mô hình chỉ bao gồm các Thực thể chính (ví dụ: Khách hàng, Sản phẩm) và Mối quan hệ cơ bản giữa chúng.
- Các yếu tố bị lược bỏ: Hoàn toàn không đề cập đến bất kỳ chi tiết kỹ thuật nào như tên cột, kiểu dữ liệu, hoặc ràng buộc.
- Ứng dụng thực tế: Là công cụ giao tiếp quan trọng. Nó được sử dụng để thảo luận và thống nhất với người dùng kinh doanh và các bên liên quan phi kỹ thuật về các đối tượng và quy trình nghiệp vụ.

Mô hình dữ liệu Logic (Logical Data Model)
Đây là giai đoạn chuyển giao, bổ sung cấu trúc chi tiết cho mô hình Khái niệm.
- Mục tiêu cốt lõi: Cung cấp cấu trúc chi tiết và chuẩn hóa dữ liệu mà không bị phụ thuộc vào một công nghệ cơ sở dữ liệu (DBMS) cụ thể nào.
- Mức độ chi tiết: Chi tiết hơn đáng kể so với mô hình Khái niệm. Mô hình Logic bổ sung tất cả các thuộc tính (cột) cần thiết cho mỗi thực thể, định nghĩa rõ ràng kiểu dữ liệu logic (ví dụ: Chuỗi, Ngày, Số nguyên), và các ràng buộc dữ liệu (constraints).
- Các yếu tố bị lược bỏ: Vẫn chưa bao gồm các yếu tố tối ưu hóa vật lý như cách lưu trữ bảng không gian hay các chỉ mục (indexes) cụ thể của DBMS.
- Ứng dụng thực tế: Đóng vai trò là cầu nối giữa các yêu cầu kinh doanh (từ mô hình Khái niệm) và thiết kế kỹ thuật, là tài liệu cơ sở để tiến hành giai đoạn triển khai.

Mô hình dữ liệu vật lý (Physical Data Model)
Đây là giai đoạn triển khai chi tiết nhất, phản ánh cách dữ liệu sẽ được hiện thực hóa.
- Mục tiêu cốt lõi: Phản ánh cách dữ liệu được tổ chức và lưu trữ thực tế trong một hệ thống cụ thể (ví dụ: trong SQL Server, Azure Synapse, hoặc là mô hình cuối cùng được tạo trong Power BI Desktop).
- Mức độ chi tiết: Chi tiết nhất. Kế thừa mọi thông tin từ mô hình Logic và bổ sung các chi tiết kỹ thuật dành riêng cho hệ thống đích.
- Các yếu tố bao gồm: Tên bảng/cột chính xác theo quy tắc đặt tên của hệ thống, định nghĩa kiểu dữ liệu vật lý (ví dụ: VARCHAR(50), INT), vị trí lưu trữ, thiết lập Khóa chính/Khóa ngoại và đặc biệt là các Chỉ mục (Indexes) để tối ưu hóa hiệu suất truy vấn.
- Ứng dụng thực tế: Là bản thiết kế được sử dụng trực tiếp để tạo cơ sở dữ liệu hoặc thiết lập cấu trúc bảng trong Power BI, đảm bảo hiệu suất và khả năng mở rộng tối ưu.

Tầm quan trọng của Data Modeling trong Power BI
Trong Power BI, một Data Model được thiết kế tốt mang lại những lợi ích then chốt sau:
- Giảm Dung Lượng File: Bằng cách sử dụng mối quan hệ (relationships) thay vì lặp lại dữ liệu, Data Model giúp giảm kích thước file .pbix và tối ưu bộ nhớ.
- Tăng Tốc Độ Truy Vấn: Power BI sử dụng công nghệ nén cột (VertiPaq) và các mối quan hệ được định nghĩa rõ ràng để tính toán và hiển thị trực quan hóa (visualizations) nhanh hơn đáng kể.
Đảm bảo tính chính xác của phân tích (Accuracy)
- Tính toán đúng đắn: Các hàm DAX (Data Analysis Expressions) như SUM, CALCULATE, và AVERAGE chỉ có thể hoạt động chính xác khi Data Model có mối quan hệ rõ ràng giữa các bảng Fact và Dimension.
- Lọc dữ liệu hiệu 1uả: Khi bạn tương tác với một bộ lọc trên báo cáo, Data Model đảm bảo rằng bộ lọc đó lan truyền (filter context) chính xác đến các bảng liên quan.
Cải thiện tính khả dụng (Usability) & Khả năng mở rộng (Scalability)
- Dễ dàng bảo trì: Một mô hình chuẩn (thường là Schema Hình Sao – Star Schema) giúp người khác dễ dàng hiểu cấu trúc dữ liệu và thực hiện các thay đổi hoặc thêm tính năng mới.
- Tái sử dụng: Các Measures (phép đo) đã được định nghĩa trong mô hình có thể được tái sử dụng trên nhiều trang báo cáo, đảm bảo tính nhất quán.
Xem thêm: Data Analytics là gì? Có điểm gì khác với Data Analysis

Thành phần cốt lõi của Data Model trong Power BI
Để xây dựng một Data Model mạnh mẽ trong Power BI, bạn cần nắm vững ba khái niệm chính:
Các loại bảng: Fact và Dimension
Trong mô hình hóa dữ liệu (Data Modeling) cho các công cụ BI như Power BI, việc phân loại dữ liệu thành hai loại bảng chính là Bảng Fact và Bảng Dimension (thường áp dụng theo kiến trúc Star Schema) là nền tảng để đảm bảo hiệu suất và độ chính xác của phân tích.
- Bảng Fact:
- Bảng Fact (thường được gọi là bảng Sự kiện) là trung tâm của phân tích. Nhiệm vụ chính của nó là lưu trữ các giá trị định lượng (measures) hoặc các sự kiện kinh doanh mà doanh nghiệp muốn đo lường và phân tích.
- Lưu trữ số liệu: Bảng Fact chứa các con số có thể tổng hợp, tính toán (như tổng, trung bình, đếm) và các chỉ số hiệu suất chính.
- Chứa Khóa Ngoại (Foreign Keys): Bảng Fact chứa các khóa ngoại liên kết nó với các Bảng Dimension xung quanh. Đây là cầu nối giúp Power BI thực hiện việc lọc và tính toán chính xác.
- Có số lượng hàng lớn: Bảng Fact thường là bảng lớn nhất trong mô hình, vì nó ghi lại từng giao dịch hoặc sự kiện riêng lẻ.
- Bảng Dim:
- Bảng Dimension (thường gọi là bảng Chiều) là nơi chứa các thuộc tính mô tả (attributes) dùng để cung cấp ngữ cảnh cho các giá trị trong Bảng Fact. Chúng trả lời các câu hỏi như Ai?, Cái gì?, Khi nào?, Ở đâu? và Bằng cách nào? của sự kiện.
- Mô tả Ngữ cảnh: Dimension cho phép bạn “cắt” (slice) và “xắt” (dice) dữ liệu Fact để phân tích theo các khía cạnh khác nhau (ví dụ: xem tổng doanh thu theo Tên Khách hàng, theo Tên Sản phẩm, hoặc theo Tháng).
- Lưu trữ Khóa Chính (Primary Keys): Mỗi Bảng Dimension có một cột khóa chính duy nhất, được sử dụng để liên kết với Khóa Ngoại trong Bảng Fact.
- Có số lượng hàng nhỏ hơn: Bảng Dimension thường có số lượng hàng ít hơn và ổn định hơn Bảng Fact, vì nó chỉ liệt kê các thực thể (ví dụ: danh sách tất cả sản phẩm, tất cả khách hàng).

Relationships
Mối quan hệ (Relationships) là cầu nối giữa các bảng, thường là giữa Khóa Chính (Primary Key) trong bảng Dimension và Khóa Ngoại (Foreign Key) trong bảng Fact.
Các loại mối quan hệ phổ biến nhất trong Power BI:
- Một-Nhiều (One-to-Many – 1:*): Đây là loại mối quan hệ tối ưu và được khuyến nghị cho mô hình Star Schema. Ví dụ: Một Khách hàng (Dimension) có thể có nhiều Đơn hàng (Fact).
- Một-Một (One-to-One – 1:1): Ít gặp, thường dùng để tách một bảng rộng thành hai bảng để quản lý.
- Nhiều-Nhiều (Many-to-Many – *:*): Cần cẩn thận khi sử dụng; tốt nhất nên được giải quyết bằng một bảng cầu nối (Bridge Table) để chuyển về 1:* nhằm đảm bảo tính toàn vẹn của dữ liệu.

Filter Direction
Hướng lọc (Filter Direction) xác định cách các bộ lọc lan truyền giữa các bảng trong mối quan hệ.
- Single (Đơn hướng): Lọc chỉ đi theo một chiều (thường từ Dimension sang Fact).
- Both (Hai chiều): Cho phép lọc đi cả hai chiều. Cần cân nhắc kỹ vì có thể gây ra hiệu suất kém hoặc các kết quả tính toán không mong muốn (Circular Dependency).
Xem thêm: Business Intelligence là gì? Vai trò & cách hoạt động của BI
Xây dựng Data Model trong Power BI
Việc xây dựng Data Model trong Power BI Desktop là một quy trình gồm nhiều giai đoạn, tập trung vào việc chuyển đổi dữ liệu thô thành một cấu trúc tối ưu cho phân tích và báo cáo.

Bước 1: Thu thập & Làm sạch Dữ liệu (Power Query)
Giai đoạn này là “ETL” (Extract, Transform, Load) của Power BI, nơi dữ liệu thô được chuẩn bị trước khi vào mô hình phân tích.
- Nhập và Kết nối Dữ liệu: Sử dụng Power Query để kết nối với các nguồn dữ liệu khác nhau (SQL, Excel, Web, …).
- Làm sạch và Chuyển đổi (Transformation):
- Loại bỏ các cột và hàng không cần thiết: Chỉ giữ lại những dữ liệu thực sự sẽ được sử dụng trong phân tích.
- Chuẩn hóa dữ liệu: Đảm bảo kiểu dữ liệu (data types) được thiết lập chính xác (ví dụ: chuyển cột văn bản thành số, nhận dạng cột ngày tháng).
- Giải chuẩn hóa (Denormalization) cho Dimension: Đảm bảo các bảng Dimension chứa tất cả các thuộc tính mô tả cần thiết (vì Power BI hoạt động tốt nhất với mô hình Star Schema).
- Tạo Bảng Date (Lịch): Đây là một bước cực kỳ quan trọng. Tạo một bảng Dimension Thời gian riêng biệt (thay vì dựa vào cột ngày thô) để đảm bảo tính toán thời gian (Time Intelligence) và lọc theo Quý/Năm/Tháng chính xác.
- Tách Fact và Dimension: Phân loại và định hình các truy vấn dữ liệu (Queries) của bạn thành các bảng Fact và Dimension rõ ràng.
Bước 2: Thiết kế Schema (Star Schema)
Đây là quyết định kiến trúc quan trọng nhất ảnh hưởng đến hiệu suất và khả năng sử dụng của mô hình.
- Áp dụng Star Schema (Lược đồ Hình Sao): Đây là kiến trúc tối ưu được Power BI khuyến nghị.
- Bảng Fact: Đặt ở vị trí trung tâm, chứa các số liệu và các Khóa Ngoại.
- Bảng Dimension: Các bảng mô tả bao quanh Fact, mỗi bảng có một Khóa Chính duy nhất.
- Lợi ích: Star Schema giảm thiểu sự phức tạp của các mối quan hệ, tối đa hóa hiệu quả nén của VertiPaq và đơn giản hóa việc viết DAX.
- Xem xét Snowflake Schema: Tuy ít phổ biến hơn do tăng độ phức tạp của các mối quan hệ (các Dimension được chuẩn hóa thêm), mô hình này có thể được sử dụng khi các bảng Dimension quá lớn hoặc khi cần tiết kiệm không gian.
- Ẩn các Cột Khóa (Key Columns): Sau khi các mối quan hệ được thiết lập, bạn nên ẩn các cột Khóa Ngoại (Foreign Keys) trong các bảng Fact và các cột Khóa Chính (Primary Keys) trong các bảng Dimension khỏi chế độ xem báo cáo (Report View) để tránh nhầm lẫn cho người dùng cuối.

Bước 3: Tạo và quản lý Mối quan hệ (Relationship View)
Giai đoạn này xác định cách các bộ lọc và tính toán sẽ lan truyền trong mô hình.
- Thiết lập Mối quan hệ:
- Truy cập Relationship View trong Power BI Desktop.
- Kéo thả Khóa Chính từ Bảng Dimension đến Khóa Ngoại tương ứng trong Bảng Fact để thiết lập mối quan hệ tự động.
- Kiểm tra Tính liên kết (Cardinality): Đảm bảo mối quan hệ được thiết lập chính xác là One-to-Many (1:*) (từ Dimension sang Fact) để đảm bảo tính chính xác và hiệu suất. Tránh sử dụng mối quan hệ Many-to-Many (*:*) không cần thiết.
- Xác định Hướng lọc (Cross-Filter Direction):
- Single (Đơn hướng): Đây là thiết lập mặc định và an toàn nhất (lọc từ Dimension sang Fact).
- Both (Hai chiều): Chỉ nên được sử dụng rất cẩn thận và khi cần thiết (ví dụ: cho các Bảng Cầu Nối) vì nó có thể tạo ra các vòng lặp (Circular Dependency) và làm giảm hiệu suất.
- Kích hoạt Mối quan hệ (Active/Inactive): Đảm bảo chỉ có một mối quan hệ hoạt động (Active) duy nhất giữa hai bảng cho một đường dẫn lọc cụ thể. Các mối quan hệ không hoạt động (Inactive) có thể được kích hoạt tạm thời trong các hàm DAX nâng cao (USERELATIONSHIP).
Bước 4: Tạo Measures (DAX)
Measures là linh hồn của phân tích, biến dữ liệu thô thành thông tin chi tiết.
- Sử dụng Measures, Tránh Calculated Columns Không Cần Thiết:
- Measures: Được tính toán theo ngữ cảnh (on-the-fly) tại thời điểm truy vấn. Chúng không làm tăng dung lượng bộ nhớ của mô hình. Đây là cách nên làm cho hầu hết các phép tính tổng hợp (Total Sales, Average Price).
- Calculated Columns: Được tính toán một lần và lưu trữ trong mô hình, làm tăng dung lượng file và bộ nhớ. Chỉ sử dụng khi cần phân loại, tạo thứ bậc, hoặc khi giá trị cần được tham chiếu theo từng hàng.
- Tạo Bảng Measures: Tạo một bảng chuyên biệt, chỉ chứa các Measures (thường được đặt tên là _Measures hoặc _KeyMetrics) và ẩn tất cả các trường khác. Điều này giúp tổ chức và dễ dàng tìm kiếm các phép đo trong báo cáo.
- Áp dụng Time Intelligence: Xây dựng các Measures DAX chuyên sâu sử dụng Bảng Date (đã tạo ở Bước 1) để phân tích các chỉ số theo thời gian (ví dụ: Year-over-Year, Month-to-Date).
Tổng kết
Data Model là nền tảng cốt lõi quyết định sự thành bại của mọi dự án phân tích trong Power BI. Từ việc tối ưu hiệu suất, đảm bảo tính chính xác của các phép tính DAX, đến việc đơn giản hóa bảo trì bằng kiến trúc Star Schema, Data Model chính là chìa khóa để chuyển đổi dữ liệu thô thành những thông tin chi tiết (insights) có giá trị cao.
Khóa học Business Intelligence Essentials tại Starttrain sẽ trang bị cho bạn kiến thức chuyên sâu về mô hình hóa dữ liệu, từ thiết kế Star Schema đến việc áp dụng các hàm DAX nâng cao. Hãy đăng ký ngay tại Starttrain để biến Data Modeling từ một khái niệm kỹ thuật thành lợi thế cạnh tranh của bạn!
This really cleared things up for me.