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 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ư:
Xem thêm: Hướng dẫn cách dùng hàm SQRT trong Power BI DAX
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à:
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à:
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.
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ánh | Bảng Fact | Bảng Dimension |
Khái niệm | Cá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 Dimension | Bộ 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ệu | Có từ ngữ, mô tả, đầy đủ và đảm bảo chất lượng thông tin |
Phân cấp | Không phân cấp theo các trường | Phâ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. |
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à:
3. Chiều lọc dữ liệu (Cross filter direction)
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 (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
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
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
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ả!