Use DAX Query View in Power BI  

Use DAX Query View in Power BI  

1.   Giới thiệu 

Trong Power BI, các công thức DAX được sử dụng để xác định các loại phép tính khác nhau cho dữ liệu của bạn và cũng có thể được sử dụng để xác định bảo mật vai trò. Mặt khác, các truy vấn DAX có thể được sử dụng để trả về dữ liệu từ mô hình. 

DAX Query tương tụ như truy vấn SQL ở chỗ chúng có thể hiển thị dữ liệu bạn đã có. Truy vấn DAX không tạo mục trong mô hình hoặc tạo hình ảnh trong báo cáo. 

DAX Query View là một tính năng trong Power BI Desktop, cho phép người dùng viết, chỉnh sửa và thực thi các truy vấn DAX (Data Analysis Expressions) trên mô hình ngữ nghĩa (semantic model). Đây là môi trường chuyên dụng để tạo truy vấn DAX, cung cấp cái nhìn sâu sắc về mô hình dữ liệu, kiểm tra phép tính và tối ưu hóa hiệu suất. 

  • Mục đích: Hỗ trợ người dùng nâng cao tương tác trực tiếp với mô hình dữ liệu bằng DAX. 

  • Tính sẵn có: Được giới thiệu trong Power BI Desktop để cải thiện việc phát triển và gỡ lỗi truy vấn. 

  • Lợi ích chính:  

  • Viết và kiểm tra truy vấn DAX trong trình soạn thảo có cấu trúc. 

  • Xem kết quả truy vấn ngay trong Power BI. 

  • Xác thực các phép đo (measures), phép tính và logic mô hình. 

  • Xuất kết quả để phân tích thêm. 

2.   Mở chế độ xem truy vấn DAX 

Trong Power BI Desktop, chọn biểu tượng DAX Query View ở bên trái. 

 

3.  Bố cục chế độ xem truy vấn DAX 

 

 

DAX Query có hai thành phần chính : 

  • Câu lệnh EVALUATE là bắt buộc. Câu lệnh này chỉ rõ dữ liệu nào được trả về trong truy vấn. 

  • Câu lệnh DEFINE tùy chọn. Câu lệnh này cho phép bạn định nghĩa công thức DAX, chẳng hạn như một phép đo, để sử dụng trong truy vấn. Các phép đo được tạo hoặc cập nhật bằng truy vấn DAX DEFINE MEASURE là các phép đo có phạm vi truy vấn DAX, chỉ chạy trong ngữ cảnh của truy vấn DAX. Các phép đo có phạm vi truy vấn DAX có thể được thêm vào mô hình bằng các hành động cập nhật mô hình CodeLens hoặc nút Update model with changes 

 

Các thành phần của View DAX Query: 

  • Query Editor: Nằm ở trung tâm, đây là nơi bạn viết và chỉnh sửa các DAX Query. Trình soạn thảo hỗ trợ cứ pháp tương tự như sử dụng thanh công thức tiêu chuẩn, giúp bạn qun thuộc và dễ tiếp cận hơn. 

  • Data Pane: Nằm ở dưới bên phải, ngăn này hiển thị tất cả các bảng, cột và measures có trong mô hình của bạn. 

  • Results Section: Nằm ở cuối chế độ xem, khu vực này hiển thị kết quả của các truy vấn đã thực hiện. Đây là một không gian động, nơi bạn có thể thấy ngay hiệu ứng của các biểu thức DAX. 

  • Query Pages: Ở cuối trang cho phép bạn chuyển và tạo giữ nhiều truy vấn DAX. Các truy vấn này được lưu trong mô hình dữ liệu của bạn, nghĩa là bạn có thể quay trở lại ngay cả sau khi đóng và mở tệp lại. 

Chế độ xem truy vấn DAX có các thành phần sau: 

Dải băng chế độ xem truy vấn DAX có các thao tác phổ biến được sử dụng khi viết truy vấn  DAX. 

Ảnh chụp màn hình thanh công cụ xem truy vấn DAX. 

Chúng ta hãy xem xét kỹ hơn các thành phần trong ruy-băng: 

Định dạng truy vấn 

Chọn nút ruy-băng Định dạng truy vấn hoặc sử dụng SHIFT+ALT+F để định dạng truy vấn hiện tại. Truy vấn được thụt lề bằng các tab. Các hàm DAX được chuyển sang CHỮ IN HOA và các dòng bổ sung được thêm vào. Định dạng truy vấn DAX được coi là phương pháp hay nhất và cải thiện khả năng đọc truy vấn DAX. Định dạng cũng thụt lề theo cách bạn có thể thu gọn và mở rộng các phần của truy vấn. 

Ảnh chụp màn hình nút Định dạng truy vấn. 

Bình luận và Bỏ bình luận 

Chọn nút ruy-băng Bình luận để thêm dấu gạch chéo ngược kép ( // ) vào đầu dòng nơi con trỏ đang ở hoặc tất cả các dòng đã chọn. Thao tác này sẽ chú thích các dòng và khi truy vấn DAX được chạy, các dòng đó sẽ bị bỏ qua. 

Chọn nút ruy-băng Bỏ chú thích để xóa // ở đầu bất kỳ dòng nào có con trỏ hoặc tất cả các dòng đã chọn. Không hoạt động trên các dòng có thêm chú thích nhiều dòng. 

Bạn cũng có thể sử dụng CTRL+/ để chuyển đổi giữa bình luận và bỏ bình luận. 

Ảnh chụp màn hình các nút Bình luận và Bỏ bình luận trong dải băng chế độ xem truy vấn DAX. 

Tìm và Thay thế 

Chọn nút Find trên ruy-băng hoặc sử dụng phím CTRL+F để tìm kiếm văn bản trong trình soạn thảo truy vấn DAX. Tìm kiếm bao gồm các tùy chọn để khớp chữ hoa/thường, khớp toàn bộ từ, sử dụng biểu thức chính quy và duyệt qua tất cả các kết quả khớp với truy vấn hiện tại. Bạn cũng có thể chọn biểu tượng hình chữ V bên trái hộp Tìm kiếm để nhập Thay thế. 

Ảnh chụp màn hình nút tìm kiếm trong dải băng chế độ xem truy vấn DAX. 

Chọn nút Replace trong ruy-băng hoặc sử dụng CTRL+H để tìm kiếm và thay thế văn bản trong trình soạn thảo truy vấn DAX. Thay thế bao gồm các tùy chọn để giữ nguyên chữ hoa và thay thế từng chữ một hoặc tất cả cùng một lúc. 

Ảnh chụp màn hình chức năng Thay thế trong dải băng chế độ xem truy vấn DAX. 

Bảng lệnh 

Chọn nút ruy-băng Command palette hoặc sử dụng tổ hợp phím CTRL+ALT+P để mở hộp bảng lệnh. Bạn có thể tìm kiếm thêm các thao tác của trình soạn thảo truy vấn DAX và xem các phím tắt liên quan. 

Ảnh chụp màn hình bảng lệnh xem truy vấn DAX. 

Thanh lệnh 

Thanh lệnh chế độ xem truy vấn DAX bao gồm các thao tác quan trọng nhất khi sử dụng chế độ xem truy vấn DAX. 

Chạy và Hủy 

Nút Run thực thi truy vấn DAX hoặc các dòng đã chọn của truy vấn. Trạng thái của truy vấn sau khi chạy sẽ xuất hiện ở thanh trạng thái bên dưới. 

Ảnh chụp màn hình thanh lệnh xem truy vấn DAX. 

Khi truy vấn đang chạy, nút này sẽ trở thành nút Cancel, có thể được sử dụng để dừng truy vấn đang chạy. 

Ảnh chụp màn hình hủy chế độ xem truy vấn DAX. 

Trình soạn thảo truy vấn DAX 

Chế độ xem truy vấn DAX bao gồm trình soạn thảo truy vấn nơi bạn có thể viết và chỉnh sửa truy vấn. Nó không chỉ là thanh công thức DAX lớn hơn. Nó mạnh mẽ hơn và có nhiều điểm tương đồng với trình soạn thảo DAX có trong VS Code. 

Trình soạn thảo truy vấn DAX có các thành phần sau: 

Gợi ý và Intellisense 

Nhập truy vấn của bạn và nhận trợ giúp bằng các gợi ý và Intellisense trong khi chỉnh sửa. 

Ảnh chụp màn hình trình soạn thảo truy vấn DAX intellisense.Sử dụng ENTER hoặc TAB để thêm intellisense được tô sáng hoặc SHIFT+ENTER hoặc ALT+ENTER để di chuyển đến dòng khác mà không thêm tùy chọn intellisense. Chọn ESC sẽ đóng bất kỳ lớp phủ nào. 

DAX Query có hai thành phần chính : 

  • Câu lệnh EVALUATE là bắt buộc. Câu lệnh này chỉ rõ dữ liệu nào được trả về trong truy vấn. 

  • Câu lệnh DEFINE tùy chọn. Câu lệnh này cho phép bạn định nghĩa công thức DAX, chẳng hạn như một phép đo, để sử dụng trong truy vấn. Các phép đo được tạo hoặc cập nhật bằng truy vấn DAX DEFINE MEASURE là các phép đo có phạm vi truy vấn DAX, chỉ chạy trong ngữ cảnh của truy vấn DAX. Các phép đo có phạm vi truy vấn DAX có thể được thêm vào mô hình bằng các hành động cập nhật mô hình CodeLens hoặc nút Update model with changes 

Di chuột để xem công thức đo lường 

Khi một phép đo được đưa vào truy vấn DAX, bạn có thể di chuột vào phép đo đó để xem công thức, tên và mô tả. 

Ảnh chụp màn hình tính năng di chuột để xem công thức đo lường. 

Lưới kết quả 

Khi chạy truy vấn, kết quả sẽ được hiển thị trong lưới Kết quả

Ảnh chụp màn hình lưới kết quả. 

Nếu có nhiều hơn một câu lệnh ĐÁNH GIÁ trong trình soạn thảo truy vấn, nhiều kết quả có thể được trả về. Bạn có thể sử dụng menu thả xuống Kết quả để chuyển đổi giữa chúng. Nút Sao chép sẽ sao chép toàn bộ lưới dưới dạng một bảng được phân cách bằng tab với các tiêu đề. Thay đổi kích thước lưới bằng cách kéo các mũi tên góc trên bên phải hoặc đường viền giữa lưới kết quả và trình soạn thảo truy vấn. 

Nếu truy vấn đưa ra lỗi, lưới kết quả sẽ hiển thị lỗi. 

Ảnh chụp màn hình thông báo lỗi trong lưới kết quả. 

Nút sao chép chuyển lỗi vào bảng tạm của bạn. Phần đầu của lỗi cho biết lỗi nằm ở đâu trong truy vấn. Trong hình ảnh trên, lỗi là: 

" Truy vấn (4, 23) Không xác định được giá trị của 'Doanh số 2'. Hoặc là cột không tồn tại, hoặc không có hàng hiện tại nào cho cột này.

Và " Query (4, 23) " chỉ ra lỗi nằm ở dòng 4 và tại ký tự 23. 

Tab truy vấn 

Chế độ xem truy vấn DAX có thể có nhiều tab truy vấn, có thể đổi tên hoặc xóa. Chúng cũng hiển thị trạng thái hiện tại của truy vấn. 

Ảnh chụp màn hình các tab Truy vấn. 

Mỗi tab bao gồm một chỉ báo trạng thái: 

Không có chỉ báo nào hiển thị trước khi chạy truy vấn. 

Dấu kiểm màu xanh lá cây cho biết truy vấn đã chạy thành công. 

Chữ thập đỏ biểu thị đã xảy ra lỗi. 

Một hình vuông tô màu trong một vòng tròn cho biết truy vấn đã bị hủy. 

Đồng hồ cho biết truy vấn đang chạy. 

Các truy vấn có thể chạy ở chế độ nền cho phép bạn tiếp tục làm việc trên các tab truy vấn khác. 

Lưu các truy vấn DAX 

Các tab truy vấn dạng xem truy vấn DAX được lưu trong tệp khi bạn lưu từ Power BI Desktop, do đó bạn có thể tiếp tục từ nơi bạn đã dừng lại khi mở lại tệp. Nếu bạn sử dụng chế độ nhà phát triển để lưu dự án Power BI, mỗi tab truy vấn được bao gồm dưới dạng tệp .dax trong thư mục DAXQueries của thư mục mô hình ngữ nghĩa hoặc thư mục báo cáo nếu chúng được tạo trong báo cáo được kết nối trực tiếp. Tìm hiểu thêm tại tài liệu chế độ nhà phát triển Power BI

Hiện tại, bạn không thể xem hoặc chỉnh sửa các truy vấn DAX đã được thêm trước đó vào Power BI Desktop trong dịch vụ Power BI. Người xem báo cáo hoặc mô hình ngữ nghĩa sẽ không thấy các truy vấn DAX được lưu cùng với mô hình ngữ nghĩa. 

Các tab chế độ xem truy vấn DAX sẽ bị loại bỏ khi bạn viết truy vấn DAX từ dịch vụ Power BI hoặc cổng thông tin Fabric. 

Ngăn dữ liệu 

Ngăn Dữ liệu hiển thị các mục trong mô hình để giúp bạn viết truy vấn. Đường dẫn chỉnh sửa cho hầu hết các mục này bị chặn trong chế độ xem truy vấn. 

Truy vấn nhanh 

Menu ngữ cảnh của ngăn Dữ liệu bao gồm Truy vấn nhanh . Sử dụng truy vấn nhanh để tạo truy vấn trong tab truy vấn mới cho bảng, cột và phép đo. Truy vấn nhanh được thiết kế để tăng cường năng suất cho các tác vụ thông thường và được xây dựng để có thể dễ dàng chỉnh sửa thêm. Tất cả truy vấn nhanh đều được tạo trong tab truy vấn mới và được chạy tự động. 

Bất cứ nơi đâu 

Xác định tất cả các phép đo trong mô hình sẽ tạo một truy vấn với tất cả các công thức phép đo được hiển thị trong truy vấn. Dễ dàng tìm kiếm tất cả các công thức phép đo của bạn. 

Lệnh "Define new measure" sẽ tạo một truy vấn với khối "define measure". Sử dụng lệnh này để tạo phép đo của riêng bạn trong chế độ xem truy vấn DAX, sau đó thêm vào mô hình khi bạn đã sẵn sàng. 

Bảng 

Hiển thị 100 hàng đầu tạo một truy vấn bằng cách sử dụng SELECTCOLUMNS() để hiển thị 100 hàng đầu của bảng. Các cột được liệt kê trên mỗi dòng để dễ dàng sửa đổi bằng cách chú thích các dòng. ORDER BY cũng được bao gồm để chỉ định thứ tự sắp xếp của bạn. 

Ảnh chụp màn hình 100 hàng đầu của chương trình. 

Hiển thị thống kê cột sẽ tạo một truy vấn hiển thị thông tin thống kê cho từng cột trong bảng của bạn. Xem nhiều công thức về cách tổng hợp các cột theo dạng MIN, MAX, AVERAGE, COUNT, v.v. 

Xác định tất cả các phép đo trong bảng này sẽ tạo ra một truy vấn với các công thức phép đo của bảng này được hiển thị trong truy vấn. 

Cột 

Hiển thị bản xem trước dữ liệu tạo truy vấn sử dụng DISTINCT() để xem giá trị của một cột. 

Ảnh chụp màn hình xem trước dữ liệu hiển thị. 

Hiển thị thống kê cột sẽ tạo một truy vấn hiển thị thông tin thống kê cho cột cụ thể này. Xem nhiều công thức để biết cách tổng hợp cột theo MIN, MAX, AVERAGE, COUNT, v.v. Truy vấn trả về sẽ khác nhau tùy thuộc vào kiểu dữ liệu của cột, hiển thị các thống kê khác nhau cho các cột số, văn bản và ngày. 

Ảnh chụp màn hình xem trước cột hiển thị. 

Đo 

Evaluate tạo truy vấn để hiển thị kết quả của phép đo. SUMMARIZECOLUMNS() được sử dụng để bạn có thể thêm bất kỳ nhóm nào theo cột để hiển thị phép đo theo các nhóm cụ thể như Quốc gia, Sản phẩm, v.v. 

Ảnh chụp màn hình đánh giá biện pháp. 

Xác định và đánh giá tạo ra một truy vấn để hiển thị kết quả của phép đo và hiển thị công thức của phép đo trong câu lệnh DEFINE sau đó có thể sửa đổi. 

Ảnh chụp màn hình về biện pháp xác định và đánh giá. 

Xác định với tham chiếu và đánh giá tạo ra một truy vấn để hiển thị kết quả của phép đo và hiển thị không chỉ công thức của phép đo trong câu lệnh DEFINE có thể được sửa đổi, mà còn bất kỳ phép đo nào khác được tham chiếu trong công thức phép đo. Chỉnh sửa bất kỳ phần nào trong toàn bộ ngữ cảnh của phép đo. 

Ảnh chụp màn hình định nghĩa với tham chiếu và đánh giá. 

4.Những cân nhắc và hạn chế 

Những điều cần lưu ý: 

Hơn 500 dòng trong trình soạn thảo truy vấn DAX có độ trễ đáng kể khi nhập. 

Các hành động nhanh cho các biện pháp chỉ hiển thị khi không có câu lệnh DEFINE nào trong tab truy vấn. 

Bảng lệnh hiển thị một số lệnh chưa hoạt động. 

Lưới kết quả sẽ không hiển thị các cột và phép đo có định dạng được chỉ định, chẳng hạn như Tiền tệ, Số nguyên hàng nghìn, v.v. 

Và có một số hạn chế cần lưu ý: 

Tối đa 15MB dữ liệu cho mỗi truy vấn. Khi vượt quá 15MB, hàng hiện tại sẽ hoàn tất nhưng không ghi thêm hàng nào nữa. 

Tối đa 1.000.000 giá trị cho mỗi truy vấn. Nếu bạn truy vấn 20 cột, bạn có thể nhận được tối đa 50.000 hàng (1 triệu chia cho 20). 

Xác định tất cả các biện pháp trong bảng này hoặc mô hình không khả dụng khi có hơn 500 biện pháp. 

Chạy truy vấn DAX trên web có thêm một số hạn chế: 

Tối đa 99.999 hàng được trả về cho mỗi truy vấn. 

Quyền ghi trên mô hình ngữ nghĩa. Người xem có quyền xây dựng có thể sử dụng Power BI Desktop để kết nối trực tiếp và sử dụng chế độ xem truy vấn DAX để chạy truy vấn DAX. 

Chỉ khả dụng cho các mô hình ngữ nghĩa không mặc định. Bạn có thể sử dụng Power BI Desktop để kết nối trực tiếp với mô hình ngữ nghĩa mặc định và sử dụng chế độ xem truy vấn DAX để chạy các truy vấn DAX. 

Người dùng có thể chỉnh sửa mô hình dữ liệu trong dịch vụ Power BI (bản xem trước). Cần bật cài đặt không gian làm việc Power BI để viết truy vấn DAX. Tìm hiểu thêm tại Chỉnh sửa mô hình dữ liệu trong dịch vụ Power BI 

 

5.Tài liệu tham khảo: 

How to Use DAX Query View in Power BI 

Work with DAX query view