Cập nhật theo giáo trình mới nhất của Microsoft, ngày 14/09/2023.
Bài hướng dẫn Lab 3 nâng cao: Design a model in Power BI – Part 2 (Xây dựng Model trong Power BI – Phần 2) là một bài thực hành nằm trong chuỗi bài luyện tập Power BI của Microsoft. Mục tiêu của chuỗi bài này là giúp học viên hiểu về các bước xử lý dữ liệu và từ đó thiết kế báo cáo trong Power BI.
Xuyên suốt chuỗi bài này, chúng ta sẽ sử dụng bộ dữ liệu của công ty Adventure Works – một công ty sản xuất và kinh doanh đồ thể thao mạo hiểm đa quốc gia – để xây dựng một giải pháp Power BI cho công ty này.
Datapot khuyến khích học viên thực hành các bài lab theo thứ tự sau để củng cố các kĩ năng cơ bản một cách tốt nhất:
- Lab 1: Prepare Data in Power BI Desktop (Chuẩn bị dữ liệu trong Power BI Desktop)
- Lab 2: Load Transformed Data in Power BI Desktop (Làm sạch và chuyển đổi dữ liệu trong Power BI Desktop)
- Lab 3: Design a model in Power BI – Part 1 (Xây dựng Model trong Power BI – Phần 1)
- Lab 3 nâng cao: Design a model in Power BI – Part 2 (Xây dựng Model trong Power BI – Phần 2)
- Lab 4: Create DAX Calculations in Power BI Desktop (Tạo các phép tính DAX trong Power BI Desktop)
- Lab 5: Create Advanced DAX Calculations in Power BI Desktop (Tạo các phép tính DAX nâng cao trong Power BI Desktop)
- Lab 6: Design a report in Power BI Desktop – Part 1 (Thiết kế báo cáo trong Power BI Desktop – Phần 1)
- Lab 7: Design a report in Power BI Desktop – Part 2 (Thiết kế báo cáo trong Power BI Desktop – Phần 2)
- Lab 8: Perform Advanced Analytics with AI Visuals (Phân tích nâng cao với biểu đồ AI)
- Lab 9: Create a Power BI Dashboard (Tạo dashboard trên Power BI)
- Lab 10: Enforce Row-Level Security (Cài đặt Row-Level Security)
Mục lục
Chuẩn bị trước khi thực hành
Để bắt đầu thực hành chuỗi bài Lab này, chúng ta cần chuẩn bị:
- Cài đặt Power BI Desktop – Hướng dẫn cài đặt Power BI Desktop – YouTube
- Database AdventureWorksDW2020 (Kết nối với SQL Server)
- 2 file ColorFormats.csv và ResellerSalesTargets.csv
Đối với học viên của Datapot, các bạn đã được cung cấp thông tin để kết nối đến SQL Server có chứa dataset AdventureWorksDW2020 và link download file. Các bạn đã đủ công cụ để bắt đầu thực hành 11 bài Lab.
Trong trường hợp tự thực hành, các bạn cần:
- Cài đặt SQL Server và SQL Server Management Studio
- Tải file dữ liệu (đuôi .bak) và 2 file ColorFormats.csv và ResellerSalesTargets.csv tại https://github.com/MicrosoftLearning/PL-300-Microsoft-Power-BI-Data-Analyst/raw/Main/AllfilesDownload.zip
- Restore file .bak – Xem hướng dẫn tại đây.
Sau khi hoàn thành, các bạn sẽ sử dụng server name để kết nối với Power BI Desktop:

Mục tiêu của bài Lab 3 nâng cao
Mục tiêu của bài Lab này là giúp bạn có thể làm việc được với quan hệ many to many trong mô hình dữ liệu của bạn.
Hướng dẫn thực hành tạo quan hệ Many to many
Hướng dẫn bằng Video:
Hướng dẫn từng bước:
Task 1: Chuẩn bị
Để chuẩn bị cho bước tạo quan hệ many to many trong Power BI, bạn có thể mở file Power BI đã tạo từ buổi trước (xem lại hướng dẫn của buổi Lab 3 – Data Model: https://datapot.vn/power-bi-moc-lab-3-model-data-in-power-bi-desktop/)
Task 2: Tạo quan hệ many to many (nhiều-nhiều)
- Trong Report view, trong ngăn Fields chọn hai trường dưới đây để tạo biểu đồ dạng bảng:
- Salesperson | Salesperson
- Sales | Sales

Nhận xét: Bảng của bạn đang thể hiện doanh thu của từng salesperson (người bán hàng). Tuy nhiên, trong quan hệ many-to-many còn có một quan hệ khác giữa salesperson và sales. Một số người bán thuộc về một, nhiều, hoặc rất nhiều sales region (khu vực bán hàng). Thêm vào đó, một sales region cũng có thể có nhiều người bán. Quan hệ giữa hai bảng này thể hiện là quan hệ many to many. Từ góc độ quản lý bán hàng, doanh số của một người bán (bằng tổng doanh số của những khu vực bán hàng của người đó) cần phải được phân tích và so sánh với target.
- Quay lại Model view và tạo các mối quan hệ như sau:
- Salesperson | EmployeeKey và SalespersonRegion | EmployeeKey
- Region | SalesTerritoryKey và SalespersonRegion | SalesTerritoryKey
- Khi đó, bảng SalespersonRegion có thể coi là bảng nối.
- Quay lại Report và chú ý rằng biểu đồ dạng bảng không hề có sự thay đổi nào.
- Quay lại Model view, và theo dõi chiều lọc của của các mũi tên quan hệ nối từ bảng Salesperson. Bạn sẽ thấy bảng Salesperson lọc bảng Sales. Nó cũng đồng thời lọc bảng SalespersonRegion, nhưng không lọc được đến bảng Region (bởi vì chiều của mũi tên bị ngược).

- Click chuột phải vào quan hệ giữa hai bảng Region và SalespersonRegion.
- Trong cửa sổ Edit Relationship trong danh sách thả xuống Cross filter direction chọn Both.
- Chọn OK.

- Quan hệ này sẽ được thể hiện dưới một đường nối với mũi tên 2 chiều

- Chuyển sang Report view, và bạn vẫn chưa thấy có gì thay đổi trong giá trị Sales.
Vấn đề ở đây là đang có hai hướng lọc có thể thực thi để đi từ bảng Salesperson đến bảng Sales.
- Chuyển sang Model view.
- Để thực thi được việc filter thông qua bảng cầu nối, click đúp chuột vào quan hệ giữa hai bảng Salesperson và Sales để chỉnh sửa.
- Trong cửa sổ Edit Relationship, bỏ tick chọn hộp Make This Relationship Active.

Sau đó, bạn sẽ chỉ có một hướng để lọc duy nhất. Quan hệ inactive sẽ được thể hiện bởi đường nối nét đứt.

Chuyển sang Report view và bạn sẽ thấy Sales trong bảng đã được thay đổi tương ứng theo từng Salesperson.

Task 3: Nối với bảng Targets
Tạo ra thêm một quan hệ giữa hai cột Salesperson (Performance) | EmployeeID và Targets | EmployeeID.
Trong Report view, thêm trường Targets | Target vào biểu đồ dạng bảng.

Bây giờ biểu đồ sẽ thể hiện doanh số thực tế và kế hoạch cho từng người bán hàng. Tuy nhiên, hãy chú ý hai điểm như sau:
- Đầu tiên, trong biểu đồ chưa có các bộ lọc theo thời gian, do đó target sẽ bao gồm cả các giá trị cho tương lai, nên target sẽ lớn hơn rất nhiều so với thực tế.
- Thứ hai, target không phải là một phép tính toán có tính additive – có thể cộng được, vì vậy không nên thể hiện total (tổng) ở trong biểu đồ này.
Chúng ta sẽ xử lý vấn đề này trong bài lab sau – chúng ta sẽ tạo ra phép tính trả về giá trị BLANK nếu một người bán bị tính trùng lặp.
Đến đây, chúng ta đã hoàn thành việc thiết lập cho mối quan nhiều-nhiều (quan hệ many-to-many).
Xem bài tiếp theo tại: Lab 4: Create DAX Calculations in Power BI Desktop (Tạo các phép tính DAX trong Power BI Desktop).
Chuỗi bài hướng dẫn thực hành Power BI PL300 Lab: https://datapot.vn/category/power-bi/power-bi-pl300-lab-video/