Hà Vân
Hà Vân
Thảo luận 0 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 559 lượt xem

Data Model là gì? Ứng dụng Data Modeling trong xây dựng báo cáo kho

Jan 17 2022

Bài viết này sẽ cung cấp cho bạn tất tần tật kiến thức cốt lõi nhất về Data Model và cách ứng dụng Data Modeling trong xây dựng báo cáo kho. Hãy cùng theo dõi nhé!

Data Model là gì?

Data Mart là gì? Data Modeling là gì?

Data Mart trong Data Model là vùng dữ liệu dùng cho phân tích và báo cáo được thiết kế theo hướng chủ đề nghiệp vụ được tổ chức dưới dạng "star-schema" đặc biệt dùng cho nhu cầu báo cáo và phân tích cần tốc độ nhanh, thông tin đầy đủ.

Tác dụng của Data Mart là làm báo cáo theo mỗi chủ đề phân tích nghiệp vụ khác nhau, Ví dụ như:

  • Phân tích về tình hình kinh doanh, doanh số
  • Phân tích về mô hình nhân sự
  • Phân tích về phát triển dân số

Xem thêm: Hướng dẫn cách dùng hàm SQRT trong Power BI DAX

Các thành phần trong mô hình dữ liệu

Mô hình dữ liệu là gì?

Trước hết, các bạn cần hiểu mô hình dữ liệu thường bao gồm các bảng dữ liệu và mối liên hệ giữa chúng như trong hình ảnh dưới đây:


Tác dụng của mô hình dữ liệu là:

  • Giản lược dữ liệu
  • Linh hoạt trong báo cáo
  • Dễ dàng thực hiện các hàm DAX

Các thành phần trong mô hình dữ liệu của Data Model bao gồm:

1. Các bảng dữ liệu: Thường được chia làm 2 loại bảng là DIM và FACT.

2. Mối liên hệ giữa các bảng: Bao gồm 3 loại liên hệ là:

  • Loại liên kết (Cardinality)
  • Chiều lọc dữ liệu (Filter Direction)
  • Active/Inactive (Hoạt động/Không hoạt động)

Trong hình ảnh dưới đây các bạn có thể thấy được một mô hình dữ liệu gồm 4 bảng Category (Nhóm sản phẩm), Product (Sản phẩm), Sales (Dữ liệu bán hàng), Year (Năm).


Giả sử có một bài tập là tính doanh thu của nhóm sản phẩm A (CAT - A) trong năm 2018 (CY2018) thì bạn sẽ làm như thế nào?

Đầu tiên, chúng ta cần chọn nhóm sản phẩm A trong bảng Category, khi đó chiều lọc sẽ lọc xuống bảng Product và tìm thấy 2 sản phẩm thuộc nhóm này:


Chiều lọc tiếp tục đi xuống đến bảng Sales thì sẽ tìm được 2 dòng có sản phẩm thuộc nhóm A đã được bán ra:


Tuy nhiên, lúc này bảng Sales đang tô xanh sản phẩm của nhóm A được bán ra trong tất cả các năm. Vì thế chúng ta chọn thêm CY2018 trong bảng Year vì nó đi theo một chiều lọc khác, không liên quan đến chiều lọc của 3 bảng còn lại để tìm ra được số lượng sản phẩm nhóm A được bán ra chỉ trong năm 2018:


Như vậy kết quả mà chúng ta thu được là sản phẩm 3 thuộc nhóm A được bán trong năm 2018 với doanh thu là 11. Vậy doanh thu của cả nhóm A trong năm 2018 là 11.

So sánh 2 loại bảng trong mô hình dữ liệu

Như đã nói trên, mô hình dữ liệu trong Data Model có 2 loại bảng là DIM và FACT. Điểm khác nhau của chúng như sau:

Tiêu chí so sánhBảng FactBảng Dimension
Khái niệmCác phép đo, chỉ số hoặc dữ kiện về quy trình kinh doanh.Bảng bổ sung, đồng hành với bảng dữ kiện chứa các thuộc tính mô tả.
Tác vụĐo lường các dữ liệu cho các thông tin trong bảng DimensionBộ sưu tập thông tin về 1 doanh nghiệp
Loại dữ liệuĐa phần là dữ liệu lượng hóa dựa trên cấp độ chi tiết của dữ liệuCó từ ngữ, mô tả, đầy đủ và đảm bảo chất lượng thông tin
Phân cấpKhông phân cấp theo các trườngPhân cấp theo dữ liệu (VD: Loại sản phẩm => Nhóm sản phẩm)
Vị tríThường là trung tâm của mô hình với các bảng Dimension kết nối xung quanhỞ rìa của mô hình và giúp bổ sung thông tin để phân tích bảng Fact.

Mối liên hệ giữa các bảng (Relationship)

1. Tự động tạo mối liên hệ

Trong Power BI đã có thiết lập sẵn để tự động tạo ra các mối liên hệ giữa các bảng.

Ví dụ: Trong hình ảnh dưới đây, các bạn có thể thấy trong Relationship có 2 tùy chọn được tích sẵn có nghĩa là tự động tạo mối liên hệ ở lần tải đầu tiên.


2. Loại kết nối (Cardinality)

Có 4 loại kết nối chính trong Data Model là:

  • One to one (1;1)
  • Many to one (*; 1)
  • One to many (1; *)
  • Many to Man (*;*)

3. Chiều lọc dữ liệu (Cross filter direction)

  • Single: Chiều lọc một chiều từ một bảng sang bảng khác
  • Both: Chiều lọc 2 chiều qua lại giữa 2 bảng với nhau

4. Active/Inactive

Theo chế độ mặc định của Power BI, khi bạn tạo một mối liên hệ giữa 2 bảng thì chỉ có một bảng được Active (hoạt động) thôi các bạn nhé.

Xem thêm: Hướng dẫn cách dùng hàm CLOSINGBALANCEQUARTER trong Power BI DAX

Star Schema vs Snowflake Schema?

Star Schema (mô hình ngôi sao) vs Snowflake Schema (mô hình bông tuyết) là 2 mô hình hay được sử dụng trong Data Model. Trong đó, Star Schema (mô hình ngôi sao) sẽ có 1 bảng Fact Table chứa rất nhiều thông tin để có thể liên kết đến các bảng Dimension khác nhau. Mỗi bảng Dimension sẽ được nối với Fact Table qua một mã ID nhất định và được sắp xếp xung quanh bảng Fact. Snowflake Schema (mô hình bông tuyết) là một biến thể của Star Schema thì sẽ có thêm các bảng cung cấp thông tin chi tiết cho từng bảng Dimension. 


Xem thêm: Hướng dẫn cách dùng hàm TRUNC trong Power BI DAX

Tại sao phải tạo mô hình dữ liệu

Chúng ta phải tạo mô hình dữ liệu Data Model vì các lý do sau:

1. Giản lược dữ liệu

Ví dụ: Trong hình ảnh dưới đây, chúng mình có 2 bảng dữ liệu. Bảng bên trái chưa được tạo Data Model thì cấu trúc bảng khá phức tạp và số lượng ô có thể lên đến hơn 11.000 ô. Các bảng bên phải là đã sử dụng Data Model nên được chia làm 2 bảng khác nhau, có sự liên kết với số lượng ô chỉ còn hơn 8000 ô. 


2. Giúp đảm bảo tính nhất quán của dữ liệu

Trong hình ảnh dưới đây chúng mình có một bảng dữ liệu mà dữ liệu của sinh viên A01 ở dòng 1: Cập nhật ngày sinh thành 23/02/1996 nhưng có thể ở dòng 7 chưa được cập nhật. Điều này thể hiện tính không nhất quán của dữ liệu khi không sử dụng Data Model. Do đó, chúng ta cần tạo mô hình dữ liệu để tách bảng ra, có bảng về mã sinh viên riêng để đảm bảo tính nhất quán của dữ liệu.


Xem thêm: Hướng dẫn cách dùng hàm REPT trong Power BI DAX

Ứng dụng Data Modeling trong xây dựng báo cáo kho

Bây giờ chúng ta sẽ ứng dụng Data Modeling vào xây dựng báo cáo kho để giúp các bạn nắm rõ hơn về công cụ này nhé. Trong Power BI, các bạn chọn vào mục Model View. Ở đây chúng mình đã có sẵn 2 bảng là bảng hàng hóa và nhập xuất. Để tạo được mối liên hệ giữa 2 bảng này, thì các bạn vào thẻ Home => chọn mục Manage Relationships:


Tiếp theo, các bạn bấm vào New trong cửa sổ Manage Relationships vừa hiện lên để tạo một mối liên hệ mới:


Sau đó các bạn sẽ thấy bảng Create Relationship hiện ra. Hãy chọn các bảng cần sử dụng để tạo liên kết trong mục Select tables and columns that are related:


Cột dùng để liên kết 2 bảng này là cột Mã hàng trong bảng hàng hóa và cột Mã sản phẩm trong bảng nhập xuất.


Trong mục Cardinality ở hình ảnh trên, phần mềm đã chọn mặc định là One to many (1:*) nghĩa là từ một đến nhiều. Điều này đồng nghĩa với việc một loại hàng hóa có thể xuất hiện ở nhiều lần nhập xuất. Nếu báo cáo mà bạn đang làm cũng có tính chất tương tự như của chúng mình thì giữ nguyên mục này nhé.

Trong mục Cross filter direction (chiều lọc dữ liệu) thì chúng mình có lời khuyên là các bạn nên để dưới dạng Single để chỉ lọc từ bảng danh mục hàng hóa sang bảng nhập xuất và không chạy ngược lại nhé.

Các mục còn lại các bạn cũng để theo mặc định rồi bấm OK nhé:


Sau đó các bạn sẽ thấy giữa 2 bảng đã tạo được một mối liên hệ:


Xem thêm: Hướng dẫn cách dùng hàm LASTNONBLANK trong Power BI DAX

Kết luận

Như vậy, chúng mình đã hướng dẫn cho các bạn những kiến thức cơ bản về Data Model và ứng dụng của nó trong việc xây dựng báo cáo kho. Hy vọng bài viết này sẽ hữu ích với các bạn trong quá trình làm việc với Power BI. Nếu các bạn muốn học kiến thức Power BI ứng dụng cho việc làm báo cáo quản trị kho thì hãy đăng ký khóa học:

PowerBI Ứng dụng - Xây dựng Báo cáo quản trị Kho với PowerBI

Khóa học sẽ giúp các bạn học tập kiến thức thực tế về việc ứng dụng Power BI trong việc phân tích, quản trị dữ liệu và xây dựng báo cáo. Các bạn sẽ được giảng viên hỗ tợ 24/7, đảm bảo mọi thắc mắc đều được giải đáp kịp thời. Đặc biệt, bạn có thể học không giới hạn vì khóa học tại Gitiho luôn có giá trị sử dụng trọn đời. Chúc các bạn học tập hiệu quả!

Cùng tham gia cộng đồng hỏi đáp về chủ đề Phân tích dữ liệu

Thảo luận 0 câu trả lời
Lượt xem 559 lượt xem
Vỗ tay vỗ tay

0 Bình luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội