Copilot trong Power BI: tạo báo cáo và viết DAX bằng ngôn ngữ tự nhiên
Playbook dùng Copilot trong Power BI để làm rõ câu hỏi nghiệp vụ, phác thảo DAX, chọn cách trình bày và đối soát kết quả trước khi chia sẻ số liệu.
“Doanh thu đang giảm ở đâu?” là câu hỏi ngắn, nhưng để trả lời đúng thường phải đi qua nhiều bước: xác định KPI, kiểm tra bảng và quan hệ, viết measure DAX, chọn cách trình bày, rồi đối soát bộ lọc.
Copilot trong Power BI có thể rút ngắn giai đoạn khởi đầu. Giá trị lớn nhất với analyst và BI developer không phải là “làm báo cáo hộ”, mà là hỗ trợ biến câu hỏi nghiệp vụ thành một bản nháp có thể kiểm tra: trường nào cần dùng, DAX nào cần review, visual nào phù hợp và giả định nào còn thiếu.
Một measure chạy được chưa chắc đã trả lời đúng câu hỏi.
Copilot trong Power BI hỗ trợ những gì?
Power BI có các trải nghiệm Copilot dạng hội thoại cho người dùng nghiệp vụ, người tạo report và người quản lý semantic model.
Khi câu hỏi liên quan đến dữ liệu trong semantic model, Copilot sử dụng semantic model để trả lời. Nếu câu hỏi không liên quan đến mô hình, Copilot có thể trả lời dựa trên kiến thức chung của mô hình ngôn ngữ lớn.
Với công việc BI hằng ngày, các khả năng đáng chú ý gồm:
Hỏi và tóm tắt nội dung của report đang mở bằng Copilot pane.
Hỗ trợ tạo, chỉnh sửa report và nâng cao mô hình cho report author.
Hỗ trợ sinh biểu thức DAX cho người tạo báo cáo nâng cao.
Tìm report hoặc semantic model mà bạn có quyền truy cập trong trải nghiệm Copilot độc lập.
Hỗ trợ tạo và phân tích visual từ câu hỏi về dữ liệu.
Copilot pane ở phía bên phải report đã được phát hành rộng rãi. Copilot độc lập toàn màn hình và Copilot trong app hiện ở trạng thái preview.
Vì vậy, nếu cần phân tích một báo cáo đang mở, hãy bắt đầu từ Copilot pane. Khi cần tìm nội dung trên nhiều report hoặc semantic model mà mình được cấp quyền, Copilot độc lập là phạm vi phù hợp hơn.
Playbook: từ câu hỏi nghiệp vụ đến bản nháp có thể review
Mục tiêu của quy trình này không phải là nhận một câu trả lời nghe hợp lý từ AI. Mục tiêu là tạo đầu ra đủ rõ để review như review SQL hoặc DAX.
Bước 1: Viết lại câu hỏi thành định nghĩa phân tích
Giả sử stakeholder hỏi: “Tình hình doanh thu theo nhóm sản phẩm thế nào?”
Trước khi hỏi Copilot, cần làm rõ:
Chỉ số “doanh thu” là measure nào?
Nhóm sản phẩm lấy từ bảng hoặc cột nào?
Phạm vi thời gian là kỳ nào?
Có điều kiện loại trừ hoặc quy ước nghiệp vụ nào không?
Prompt mẫu:
text
Tôi cần phân tích <chỉ số> theo <chiều phân tích> cho <kỳ thời gian>.
Hãy:
xác định measure và cột cần dùng trong semantic model;
nêu các giả định nếu thuật ngữ nghiệp vụ chưa rõ;
đề xuất cách trình bày phù hợp;
chỉ ra bộ lọc, giá trị trống và quan hệ bảng cần kiểm tra.
Không tự suy diễn tên cột. Nếu không tìm thấy trường phù hợp, hãy nói rõ.
Copilot cho Power BI hỗ trợ prompt dài tối đa 10.000 ký tự trên các bề mặt Copilot, gồm trải nghiệm độc lập, Copilot pane trong report, Copilot trong app, Power BI Mobile và Power BI Embedded.
Phần ngữ cảnh này nên dành cho định nghĩa KPI, quy ước nghiệp vụ và tên bảng hoặc field liên quan. Đây là cách giúp Copilot bám sát semantic model hơn thay vì chọn một trường có tên gần giống.
Bước 2: Chuẩn bị semantic model trước khi hỏi
Tài liệu Power BI khuyến nghị chuẩn bị semantic model cho AI trước khi sử dụng Copilot. Khi chủ sở hữu mô hình chuẩn bị dữ liệu tốt, Copilot hiểu bối cảnh nghiệp vụ tốt hơn và có khả năng trả lời nhất quán, đáng tin cậy hơn.
Ngược lại, mô hình thiếu ngữ cảnh nghiệp vụ có thể khiến Copilot diễn giải sai hoặc trả lời chung chung.
Một mô tả tối thiểu để rà soát có thể là:
| Bảng | Trường cần chú ý |
|---|---|
| Sales | Sales Amount, Product Key |
| Product | Product Key, Product Category |
Ví dụ, một measure tổng doanh thu có thể là:
DAX
Total Sales = SUM([Sales Amount])
Theo tài liệu DAX, measure là phép tính động: kết quả thay đổi theo context. Context có thể đến từ filter, slicer, hàng hoặc cột trong report.
Khi đặt Product Category làm filter, measure Total Sales sẽ được tính trong context của từng nhóm sản phẩm. Vì vậy, không nên kiểm tra measure chỉ bằng một con số tổng duy nhất.
Bước 3: Dùng Copilot để phác thảo DAX, rồi tự review
Prompt mẫu cho BI developer:
text
Dựa trên semantic model hiện có, hãy đề xuất một measure DAX cho <định nghĩa KPI>.
Yêu cầu:
ưu tiên measure, không tạo calculated column nếu không cần tính theo từng dòng;
giải thích filter context mà measure sẽ nhận;
liệt kê bảng, cột và measure được tham chiếu;
không bịa tên trường;
nêu trường hợp giá trị trống hoặc filter thời gian cần kiểm tra.
Chỉ trả về DAX khi các trường cần thiết tồn tại trong mô hình.
Khi review đầu ra, cần phân biệt ba loại đối tượng DAX phổ biến:
Measure là phép tính động; kết quả thay đổi theo context của report.
Calculated column tạo giá trị cho từng dòng và lưu giá trị trong mô hình.
Calculated table là bảng được tính từ biểu thức DAX dựa trên toàn bộ hoặc một phần các bảng khác trong mô hình.
Ví dụ calculated column:
DAX
= [Calendar Year] & " Q" & [Calendar Quarter]
Công thức này tạo nhãn quý cho từng dòng trong bảng ngày. Nó phù hợp khi cần một thuộc tính theo dòng. Với chỉ số tổng hợp thay đổi theo slicer hoặc filter, hãy kiểm tra kỹ liệu measure có phù hợp hơn hay không.
DAX cũng được dùng cho row-level security (RLS). Trong trường hợp này, biểu thức phải trả về điều kiện Boolean TRUE hoặc FALSE để xác định những dòng có thể được trả về cho một role.
Bước 4: Nhờ Copilot gợi ý cách trình bày, không giao việc diễn giải hoàn toàn cho AI
Sau khi đã xác định KPI, có thể dùng prompt như sau:
text
Với measure <tên measure> và chiều <tên chiều>, hãy đề xuất cách trình bày để:
so sánh các nhóm;
xem xu hướng theo thời gian;
nhận diện nhóm có giá trị khác biệt.
Với mỗi đề xuất, nêu rõ field nào đặt vào trục, giá trị, legend và filter.
Không kết luận nguyên nhân nếu semantic model không có dữ liệu để chứng minh.
Một đề xuất hữu ích không chỉ nói “dùng biểu đồ cột”. Nó cần chỉ rõ measure nào nằm ở Values, dimension nào nằm ở Axis và filter nào có thể thay đổi cách diễn giải kết quả.
Copilot có thể hỗ trợ tạo và phân tích visual nhanh. Tuy nhiên, người làm BI vẫn cần kiểm tra semantic model, context của measure và bộ lọc đang áp dụng trước khi đưa ra kết luận nghiệp vụ.
Checklist đối soát trước khi chia sẻ số liệu
Trước khi gửi report hoặc trả lời stakeholder, hãy rà soát:
[ ] Measure có dùng đúng bảng và đúng cột nguồn không?
[ ] Tổng trên card có khớp với tổng trong bảng chi tiết không?
[ ] Khi lọc theo một nhóm sản phẩm, measure có thay đổi như kỳ vọng không?
[ ] Giá trị trống và bản ghi không khớp khóa đã được xem xét chưa?
[ ] Filter thời gian đang áp vào trường ngày nào?
[ ] Copilot có gọi đúng tên field thực tế trong semantic model không?
[ ] Phần diễn giải có tách bạch giữa số liệu quan sát và giả thuyết nguyên nhân không?
Với RLS, cần kiểm tra kết quả trong role phù hợp. DAX của RLS xác định tập dòng được phép trả về; một người dùng có thể thuộc nhiều role với phạm vi truy cập khác nhau.
Điều kiện sử dụng Copilot trong Power BI
Copilot cho Power BI yêu cầu:
Fabric capacity trả phí từ F2 trở lên, hoặc Power BI Premium từ P1 trở lên.
Tenant admin bật thiết lập Users can use Copilot and other features powered by Azure OpenAI.
Fabric capacity nằm trong khu vực được hỗ trợ.
Trial capacity và SKU miễn phí không được hỗ trợ.
Sau khi mua mới hoặc nâng cấp capacity, Copilot có thể mất tới 24 giờ để nhận thay đổi và sẵn sàng sử dụng.
Copilot độc lập và Copilot trong app hiện chưa khả dụng tại một số khu vực. Ngoài ra, dù prompt bằng ngôn ngữ khác tiếng Anh đôi khi vẫn nhận được phản hồi phù hợp, việc sử dụng đa ngôn ngữ hiện chưa được hỗ trợ chính thức cho các trải nghiệm này.
Kết luận
Copilot hữu ích nhất khi semantic model sạch, KPI được định nghĩa rõ và đầu ra được kiểm tra như mọi thành phần khác của báo cáo.
Hãy dùng Copilot để tăng tốc từ câu hỏi nghiệp vụ đến bản nháp DAX, cấu trúc report và cách trình bày. Nhưng trước khi chia sẻ số liệu, measure, filter context, RLS và cách diễn giải vẫn cần được người làm BI đối soát.