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 10: Enforce Row-Level Security (Cài đặt Row-Level Security) 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)
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 10
Mục tiêu lab 10: Ứng dụng Row-Level Security
Trong lab này, chúng ta sẽ tìm hiểu cách ứng dụng Row-Level Security (RLS) để đảm bảo mỗi salesperson chỉ có thể phân tích dữ liệu sales của những vùng họ phụ trách.
Thời lượng ước tính để hoàn thành bài lab là khoảng 20 phút.
Hướng dẫn thực hành
Hướng dẫn bằng Video:
Hướng dẫn từng bước:
Trước khi bắt đầu bài lab, chúng ta mở Power BI Desktop và mở file lab đã thực hành trong Lab 8.
- Chuyển sang Data view.

- Trên cửa sổ Data, chọn bảng Salesperson (Performance).
- Quan sát dữ liệu, và nhận thấy Michael Blythe (EmployeeKey 281) có giá trị UPN là: michael-blythe@adventureworks.com
Michael Blythe hiện đang phụ trách 3 vùng sales là US Northeast, US Central, and US Southeast.
- Chuyển về Report view. Trên thẻ Modeling, trong nhóm Security, chọn Manage Roles.

- Trong cửa sổ Manage Roles, chọn Create.
- Đổi tên của Role thành Salespeople và nhấn Enter.

- Để tạo filter cho trường UPN, chọn bảng Salesperson (Performance) trong phần Tables, chọn dấu ba chấm cạnh tên bảng và chọn Add Filter | [UPN].

- Trong ô Table Filter DAX Expression, chúng ta thay “Value” thành USERPRINCIPALNAME(), rồi nhấn Save.
USERPRINCIPALNAME() là 1 hàm DAX trả về tên của user đang đăng nhập. Công thức trong ô này có nghĩa là bảng Salesperson (Performance) sẽ được lọc theo trường UPN hay là email đăng nhập của user đang truy vấn mô hình.

- Để test role chúng ta vừa tạo, trên thẻ Modeling, trong nhóm Security, chọn View As.

- Trên cửa sổ View as Roles, tick vào ô Other User, và nhập vào ô bên phải: michael-blythe@adventureworks.com
- Tick chọn ô Salespeople rồi nhấn OK.

- Quan sát dòng chữ trên thanh banner màu vàng trên đầu trang báo cáo, mô tả ngữ cảnh test đang thực hiện.

- Lúc này trên trên trang báo cáo chỉ còn hiển thị dữ liệu của Michael Blythe.
- Để dừng test, ở góc phải của banner màu vàng, chọn Stop Viewing.

- Để xóa role Salespeople, trên thẻ Modeling, chọn Manage Roles.

- Trên cửa sổ Manage Roles, chọn Delete. Khi được hỏi xác nhận xóa role, chọn Yes, Delete.

Vậy là chúng mình đã cùng nhau thực hành hết chuỗi 11 bài Lab PL300. Hy vọng các bạn đã nắm được các bước xử lý dữ liệu và tự thiết kế được báo cáo bằng Power BI. Nếu như có bất cứ thắc mắc nào, các bạn hãy để lại bình luận cho mình nhé.
Xem lại 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/