📂 NỘI DUNG BÀI VIẾT
- Vì sao AI hay viết DAX sai?
- Bước chuẩn bị: viết “bản mô tả mô hình” (model brief)
- Prompt khung: “quy tắc viết DAX” dùng cho mọi yêu cầu
- 5 nhóm prompt mẫu để viết DAX bằng Claude
- Cách kiểm tra lại DAX do AI viết: 5 lớp kiểm tra
- Những lỗi AI hay mắc khi viết DAX và cách phát hiện
- Quy trình 5 bước viết DAX bằng Claude
- Câu hỏi thường gặp (FAQ)
- Kết luận
Vì sao AI hay viết DAX sai?
DAX không giống SQL hay Excel: cùng một công thức có thể cho kết quả khác nhau tùy ngữ cảnh lọc (filter context) của từng visual. Khi không được cung cấp đủ thông tin, AI buộc phải đoán, và đây là những chỗ hay đoán sai nhất:
| AI phải đoán | Hậu quả thường gặp |
|---|---|
| Tên bảng, tên cột | Measure báo lỗi vì tham chiếu cột không tồn tại |
| Có bảng ngày hay không, đã Mark as date table chưa | Hàm Time Intelligence trả về trống hoặc sai |
| Quan hệ giữa các bảng và chiều lọc | Bộ lọc không truyền đúng, số liệu lệch khi dùng slicer |
| Measure sẽ đặt ở visual nào, theo cấp nào | Dòng tổng (Total) sai, hoặc sai khi xem theo ngày thay vì theo tháng |
| Định nghĩa nghiệp vụ (doanh thu có trừ giảm giá, trả hàng hay không) | Công thức đúng kỹ thuật nhưng sai ý nghĩa |
Vì vậy, bước quan trọng nhất khi viết DAX bằng AI không phải là câu lệnh, mà là bản mô tả mô hình bạn gửi kèm.
Bước chuẩn bị: viết “bản mô tả mô hình” (model brief)
Bản mô tả mô hình là một đoạn văn ngắn liệt kê bảng, cột quan trọng, quan hệ và các measure đã có. Bạn chỉ cần viết một lần, lưu lại và dán vào đầu mỗi yêu cầu, hoặc lưu vào một Project trên Claude để mọi cuộc trò chuyện đều dùng chung.
Lấy thông tin mô hình nhanh: mở Model view để xem bảng và quan hệ. Ở các phiên bản Power BI Desktop gần đây, bạn có thể vào DAX query view và chạy các truy vấn như EVALUATE INFO.VIEW.TABLES(), EVALUATE INFO.VIEW.COLUMNS(), EVALUATE INFO.VIEW.RELATIONSHIPS() để lấy danh sách bảng, cột, quan hệ rồi chép vào bản mô tả.
💡 Lưu ý bảo mật: bản mô tả chỉ cần tên bảng, cột và quan hệ, không cần gửi dữ liệu thật. Đây là cách an toàn để dùng AI ngay cả với mô hình có dữ liệu nhạy cảm.
Prompt khung: “quy tắc viết DAX” dùng cho mọi yêu cầu
Bên cạnh bản mô tả mô hình, hãy gửi kèm một bộ quy tắc ngắn để mọi measure Claude viết ra đều theo cùng chuẩn:
Quy tắc số 6 rất quan trọng: nó biến mỗi câu trả lời của Claude thành một gói “công thức + cách kiểm tra”, giúp bạn xác minh kết quả ngay lập tức (xem phần kiểm tra bên dưới).
5 nhóm prompt mẫu để viết DAX bằng Claude
01 Measure cơ bản02 Time Intelligence03 Gỡ lỗi measure đang sai04 Tối ưu measure chạy chậm05 Giải thích và viết tài liệu cho measure
Các prompt dưới đây giả định bạn đã gửi bản mô tả mô hình và bộ quy tắc ở trên. Mỗi nhóm gồm prompt mẫu và ví dụ kết quả bạn nên nhận được.
NHÓM 1
Nhóm 1: Measure cơ bản
Với “Số đơn hàng”, câu trả lời đúng là Claude hỏi lại: mô hình không có cột mã đơn hàng, nên không thể đếm đơn chính xác. Nếu AI tự đặt ra một cột MaDonHang, đó là dấu hiệu bạn cần nhắc lại quy tắc số 1.
NHÓM 2
Nhóm 2: Time Intelligence
Điểm đáng chú ý là measure “Doanh thu cùng kỳ”: nó chỉ lấy các ngày đến ngày có dữ liệu mới nhất rồi mới dịch lùi một năm, nên tháng chưa kết thúc không bị so với cả tháng năm trước. Chi tiết từng hàm xem tại bài Time Intelligence trong Power BI: 7 hàm DAX so sánh cùng kỳ, lũy kế, tăng trưởng.
NHÓM 3
Nhóm 3: Gỡ lỗi measure đang sai
Khi một measure cho kết quả lạ, hãy gửi đủ bốn thông tin: công thức, visual đang dùng, kết quả mong đợi và kết quả thực tế.
Nguyên nhân ở đây là hàm thời gian đang dùng cột ngày của bảng Fact thay vì Dim_Ngay[Date]. Prompt có đủ ngữ cảnh giúp Claude chỉ ra đúng chỗ sai thay vì viết lại một công thức hoàn toàn mới.
NHÓM 4
Nhóm 4: Tối ưu measure chạy chậm
Yêu cầu có cột chênh lệch giúp bạn chứng minh measure mới cho cùng kết quả trước khi thay thế. Xem thêm các mẫu tối ưu trong bài 6 cách tăng tốc Power BI.
NHÓM 5
Nhóm 5: Giải thích và viết tài liệu cho measure
Nhóm này đặc biệt hữu ích khi bạn tiếp nhận file Power BI của người khác, hoặc cần bàn giao mô hình cho đồng nghiệp.
Cách kiểm tra lại DAX do AI viết: 5 lớp kiểm tra
Một measure chạy được chưa chắc đã đúng. Trước khi đưa vào báo cáo, hãy cho nó đi qua 5 lớp kiểm tra theo thứ tự từ nhanh đến kỹ.
LỚP 1/5
Lớp 1: Đọc lại công thức
- Mọi tên bảng, tên cột đều có trong mô hình của bạn.
- Hàm thời gian dùng Dim_Ngay[Date], không dùng cột ngày của bảng Fact.
- Các giả định Claude ghi kèm (ví dụ “doanh thu đã trừ giảm giá”) khớp với định nghĩa nghiệp vụ.
LỚP 2/5
Lớp 2: So với con số đã biết chắc chắn đúng
Chọn 1–2 kỳ bạn đã có số liệu đối chiếu từ Excel, SQL hoặc báo cáo kế toán, rồi so với kết quả của measure. Nếu lệch, dừng lại tìm nguyên nhân trước khi làm tiếp.
LỚP 3/5
Lớp 3: Kiểm tra bằng DAX query view
Trong Power BI Desktop, mở DAX query view và chạy truy vấn kiểm tra (chính là truy vấn EVALUATE bạn đã yêu cầu Claude viết kèm):
Nhìn vào bảng kết quả và kiểm tra: các tháng của năm đầu tiên phải có “Cùng kỳ” trống; “Cùng kỳ” của tháng 3/2026 phải bằng “Doanh thu” của tháng 3/2025; tính tay YoY % của một tháng bất kỳ để đối chiếu.
LỚP 4/5
Lớp 4: Kiểm tra trong nhiều ngữ cảnh lọc
- Dòng tổng (Total): có đúng ý nghĩa bạn muốn không, hay chỉ là một con số “vô nghĩa”.
- Nhiều cấp thời gian: xem theo năm, quý, tháng, ngày.
- Slicer: chọn một cửa hàng, một nhóm hàng, hoặc nhiều lựa chọn cùng lúc.
- Trường hợp biên: kỳ không có dữ liệu, mẫu số bằng 0, tháng hiện tại chưa kết thúc.
LỚP 5/5
Lớp 5: Kiểm tra hiệu năng
Chạy Performance Analyzer trên trang có measure mới. Nếu visual chậm hơn hẳn trước, dùng prompt Nhóm 4 để nhờ Claude tối ưu.
Những lỗi AI hay mắc khi viết DAX và cách phát hiện
🐞 BUG-01 Tự đặt tên bảng, cột không có trong mô hình
Dấu hiệu: Power BI báo lỗi khi tạo measure
Cách xử lý: Gửi bản mô tả mô hình, nhắc quy tắc “hỏi lại nếu thiếu”
🐞 BUG-02 Dùng cột ngày của bảng Fact trong hàm thời gian
Dấu hiệu: Cùng kỳ, YTD trống hoặc sai
Cách xử lý: Yêu cầu dùng Dim_Ngay[Date]
🐞 BUG-03 Nhầm ALL và ALLSELECTED
Dấu hiệu: Tỷ trọng % không đổi khi chọn slicer, hoặc đổi khi không nên đổi
Cách xử lý: Nói rõ “trên tổng đang được chọn” hay “trên tổng toàn bộ”
🐞 BUG-04 Dòng tổng không như mong đợi
Dấu hiệu: Total khác tổng các dòng hiển thị
Cách xử lý: Mô tả rõ dòng tổng cần tính thế nào trong prompt
🐞 BUG-05 So tháng chưa kết thúc với cả tháng năm trước
Dấu hiệu: Tăng trưởng âm bất thường ở tháng hiện tại
Cách xử lý: Nêu rõ ngày có dữ liệu mới nhất trong prompt
🐞 BUG-06 Sai tên hàm hoặc thứ tự tham số
Dấu hiệu: Thông báo lỗi cú pháp
Cách xử lý: Dán nguyên văn thông báo lỗi cho Claude sửa
🐞 BUG-07 Dùng FILTER trên cả bảng Fact
Dấu hiệu: Measure đúng nhưng chạy chậm
Cách xử lý: Yêu cầu lọc theo cột, kiểm tra bằng Performance Analyzer
Quy trình 5 bước viết DAX bằng Claude
📅 Muốn luyện DAX và cách dùng AI trên dữ liệu thực tế cùng giảng viên? Xem Lịch khai giảng tháng 10/2026 các khóa Power BI, SQL, Python, AI tại MCNA.
Câu hỏi thường gặp (FAQ)
?Không biết DAX có dùng Claude viết measure được không?
Được, nhưng bạn sẽ khó phát hiện khi kết quả sai. Hãy học song song các khái niệm nền tảng như ngữ cảnh lọc, CALCULATE, bảng ngày, và dùng prompt Nhóm 5 để nhờ Claude giải thích từng công thức.
?Có cần gửi file .pbix hoặc dữ liệu thật cho Claude không?
Không cần. Bản mô tả mô hình (tên bảng, cột, quan hệ) là đủ để viết DAX. Cách này vừa an toàn cho dữ liệu, vừa giúp câu trả lời tập trung hơn.
?Vì sao cùng một prompt mà mỗi lần Claude viết hơi khác nhau?
AI có thể đưa ra nhiều cách viết cùng cho một kết quả. Điều quan trọng là measure qua được 5 lớp kiểm tra. Bộ quy tắc viết DAX trong prompt khung giúp các câu trả lời nhất quán hơn.
?Claude có thay được việc học DAX không?
Không. Claude giúp bạn viết nhanh hơn và học nhanh hơn, nhưng người chịu trách nhiệm về con số trên báo cáo vẫn là bạn. Hiểu DAX chính là điều kiện để kiểm tra được AI.
Kết luận
Viết DAX bằng Claude hiệu quả nhất khi bạn xem AI như một đồng nghiệp viết nhanh nhưng chưa biết mô hình của bạn: mô tả mô hình rõ ràng, đặt quy tắc viết DAX, dùng prompt đúng nhóm việc, và luôn kiểm tra qua 5 lớp trước khi đưa measure vào báo cáo. Làm đúng quy trình này, bạn vừa tiết kiệm thời gian, vừa hiểu DAX sâu hơn sau mỗi lần làm việc với AI. Hãy bắt đầu bằng việc viết bản mô tả mô hình cho file Power BI bạn đang làm ngay hôm nay.
Nếu bạn muốn học DAX bài bản và biết cách kết hợp AI vào quy trình phân tích, khóa học Power BI tại MCNA Technology School sẽ đồng hành cùng bạn. Đọc thêm: Claude là gì? Cách Data Analyst dùng Claude để phân tích dữ liệu nhanh hơn.
👉 Xem lịch khai giảng tháng 10/2026: Power BI, SQL, Python, AI – MCNA

