Báo cáo động (dynamic report) là các báo cáo mà dữ liệu có thể thay đổi tùy ý, tùy thuộc vào mục đích sử dụng của người dùng. Báo cáo động rất quan trọng bởi vì một báo cáo duy nhất có thể sử dụng cho nhiều mục đích khác nhau. Nếu bạn sử dụng báo cáo động, bạn sẽ chỉ cần tạo ra một báo cáo duy nhất và bản báo cáo đó sẽ được sử dụng cho nhiều phòng ban khác nhau, giúp bạn tiết kiệm tương đối thời gian và công sức.
Bạn có thể sử dụng tham số để thể hiện các giá trị mà bạn muốn cho bộ dữ liệu trong báo cáo, và báo cáo sẽ cập nhật theo điều kiện lọc đó. Người dùng cuối cũng sẽ có thể thực hiện nhiều thao tác hơn về trực quan hóa dữ liệu, hay họ cũng có thể thay đổi nguồn dữ liệu và lọc theo ý mình.
Các nội dung chính
Ví dụ về báo cáo động
Hãy bắt đầu với ví dụ, bạn đã tạo ra báo cáo cho team Sales với dữ liệu lấy từ SQL Server. Báo cáo của bạn đang thể hiện rất tốt, tuy nhiên, team Sales muốn tự họ có thể lọc báo cáo để chỉ xem các dữ liệu của từng nhóm người và từ đó có thể theo dõi các KPI tốt hơn.
Tạo báo cáo động cho từng giá trị riêng lẻ
Để tạo báo cáo động, trước tiên bạn cần viết câu lệnh truy vấn SQL và sử dụng tính năng Get data trong Power BI Desktop để kết nối với cơ sở dữ liệu.
Trong ví dụ này, bạn kết nối với cơ sở dữ liệu trong SQL Server. Trong cửa sổ SQL Server database, sau khi nhập thông tin chi tiết về máy chủ, chọn Advanced options, sau đó dán dòng lệnh truy vấn SQL vào hộp SQL statement rồi chọn OK.


Sau khi tạo kết nối, bạn sẽ thấy bản xem trước của dữ liệu trong cửa sổ Preview. Chọn Edit để mở Power Query Editor.
Bước tiếp theo bạn cần làm là tạo ra tham số. Trên thẻ Home, chọn Manage parameter > New parameter. Trên cửa sổ Parameter, đổi tên tham số để thể hiện mục đích của tham số một cách rõ ràng. Trong trường hợp này, bạn đổi tên thành SalesPerson. Chọn Text trong danh sách Type và Any value trong danh sách Suggested value rồi chọn OK.

Sau đó bạn sẽ thấy một query mới được tạo cho tham số mới của bạn.

Bây giờ bạn cần điều chỉnh câu lệnh trong SQL và sử dụng tham số mới tạo. Bấm chuột phải tại Query1 và chọn Advanced editor, sau đó thay thế giá trị hiện tại trong câu lệnh bằng dấu “&” và sau đó là tên tham số (SalesPerson), như trong hình minh họa. Kiểm tra xem nếu không có lỗi ở dưới cửa sổ, sau đó chọn Done.

Bạn sẽ không thấy bất cứ điều gì khác biệt, nhưng Power BI sẽ thực hiện truy vấn. Để chắc chắn, Bạn có thể chạy thử. Chọn truy vấn tham số, sau đó nhập một giá trị mới vào hộp Current Value.

Bạn có thể sẽ thấy biểu tượng cảnh báo hiển thị bên cạnh truy vấn. Khi đó, bấm vào tên truy vấn để xem chi tiết cảnh báo, với nội dung cảnh báo là cần có permission để chạy truy vấn. Chọn Edit Permission > Run.
Khi truy vấn thực hiện thành công, bạn sẽ thấy các bản ghi sẽ cập nhật tham số và hiển thị giá trị dữ liệu mới.

Chọn Close and Apply để quay lại giao diện chỉnh sửa báo cáo. Bây giờ bạn có thể sử dụng tham số vào báo cáo của mình. Chọn Edit queries > Edit parameters, sau đó trong cửa sổ Edit Parameters, nhập giá trị mới và chọn OK. Sau đó chọn Apply changes và chạy lại truy vấn gốc. Bây giờ khi bạn xem dữ liệu, bạn sẽ thấy dữ liệu cho giá trị mới đã được truyền qua tham số.

Bây giờ bạn có thể tạo một báo cáo hiển thị dữ liệu cho một giá trị cụ thể tại một thời điểm. Nếu bạn muốn hiển thị dữ liệu cho nhiều giá trị cùng một lúc, chúng ta sẽ đi tiếp các phần tiếp theo.
Tạo báo cáo động cho nhiều giá trị cùng lúc
Để thể hiện cùng lúc nhiều giá trị, trước tiên bạn cần tạo ra một file Excel có một bảng gồm một cột chứa các giá trị.
Tiếp theo, sử dụng tính năng Get data trong Power BI Desktop để kết nối với dữ liệu trong file Excel đó, và trên cửa sổ Navigator, chọn Edit để mở Power Query Editor, bạn sẽ thấy một truy vấn mới cho bảng dữ liệu.

Đổi tên cột trong bảng để cho dễ hiểu, sau đó thay đổi kiểu dữ liệu cột thành văn bản để phù hợp với loại tham số và tránh được các vấn đề về thay đổi kiểu dữ liệu. Trong phần Properties của truy vấn, thay đổi tên của nguồn dữ liệu thành một tên khác dễ hiểu hơn – trong trường hợp này là SalesPersonID.
Sau đó bạn cần tạo một function để truyền truy vấn SalesPersonID mới vào Query1. Bấm chuột phải tại Query1 và chọn Create function.

Nhập tên cho function và chọn OK.

Sau đó bạn sẽ thấy function mới của bạn xuất hiện ở ngăn Queries.

Để chắc chắn rằng Query1 không hiển thị trong danh sách trường trong báo cáo gây rối cho người dùng, bạn có thể vô hiệu hóa việc tải nó vào báo cáo. Nhấn chuột phải vào Query1 một lần nữa, sau đó bỏ chọn Enable load để vô hiệu hóa tính năng này.

Chọn truy vấn SalesPerson bạn tải từ Excel, sau đó trên thẻ Add Column, nhấn chọn Invoke custom function để chọn function mà bạn vừa tạo.

Trên cửa sổ Invoke Custom Function, chọn function của bạn từ danh sách Function query. Bạn sẽ thấy rằng New column name tự động cập nhật và bảng chứa các giá trị bạn định truyền qua tham số sẽ được chọn theo mặc định. Chọn OK, và chạy lại truy vấn gốc nếu cần.

Sau đó bạn sẽ thấy một cột của hàm GetSalesFromSalesPerson bên cạnh cột SalesPersonID.

Chọn biểu tượng hai mũi tên trong tiêu đề cột mới đó, sau đó tích chọn các cột mà bạn muốn tải. Đây là nơi bạn xác định các cột thông tin hiển thị trong báo cáo cho từng giá trị (sales person ID). Bỏ chọn Use original column name as prefix, sau đó chọn OK.

Bây giờ bạn sẽ thấy dữ liệu cho các cột đã chọn cho từng giá trị (sales person ID).

Nếu cần, bạn có thể thêm nhiều giá trị hơn (sales people IDs) vào cột SalesPersonID trong file Excel, hoặc thay đổi các giá trị hiện có. Lưu thay đổi của bạn, sau đó quay trở lại Power Query Editor. Trên thẻ Home, chọn Refresh Preview, sau đó chạy truy vấn gốc một lần nữa (nếu cần), và bạn sẽ thấy thông tin sales của các sales people IDs mới mà bạn mới thêm vào.
Chọn Close and Apply để quay lại trình sửa báo cáo, bạn sẽ thấy tên cột mới xuất hiện ở ngăn Fields và từ đây bạn có thể bắt đầu xây dựng báo cáo.