Trong phần trước, chúng ta đã liệt kê tất cả những ý nghĩa quan trọng của việc sử dụng DirectQuery trong Power BI. Bạn có thể xem lại tất cả các phần ngay dưới đây trước khi tiếp tục đến với nội dung của bài viết này.
Tham khảo:
Giới thiệu về cách sử dụng DirectQuery trong Power BI (Phần 1)
Giới thiệu về cách sử dụng DirectQuery trong Power BI (Phần 2)
Giới thiệu về cách sử dụng DirectQuery trong Power BI (Phần 3)
Giới thiệu về cách sử dụng DirectQuery trong Power BI (Phần 4)
1. Một số ý nghĩa khác của DirectQuery
- Nếu dữ liệu đang thay đổi, cần phải làm mới để đảm bảo dữ liệu mới nhất được hiển thị: Với việc sử dụng bộ nhớ đệm, không có gì đảm bảo trực quan sẽ luôn hiển thị dữ liệu mới nhất. Ví dụ, một trực quan có thể hiển thị các giao dịch hôm qua. Do một slicer đã được thay đổi, nó có thể làm mới để hiển thị giao dịch của 2 ngày qua, giao dịch có thể là gần đây hoặc mới đến. Trả lại slicer về giá trị ban đầu của nó sẽ dẫn đến việc nó hiển thị giá trị đã lưu trong bộ nhớ đệm đã thu được trước đó.
Chọn Refresh sẽ xóa mọi bộ nhớ đệm và làm mới tất cả trực quan trên trang để hiển thị dữ liệu mới nhất.
- Nếu dữ liệu đang thay đổi, không có gì đảm bảo tính nhất quán giữa các trực quan: Các trực quan khác nhau cho dù trên cùng một trang hay ở trên các trang khác nhau, có thể được làm mới vào những thời điểm khác nhau. Nếu dữ liệu trong nguồn cơ bản đang thay đổi, không có gì đảm bảo rằng mỗi trực quan hiển thị dữ liệu tại cùng một thời điểm chính xác. Bởi vì đôi khi cần nhiều hơn một truy vấn cho một trực quan, ví dụ để có chi tiết (details) và tổng (totals), thì tính nhất quán ngay cả trong một trực quan sẽ không được đảm bảo. Để đảm bảo tính nhất quán này sẽ cần chi phí làm mới tất cả các trực quan bất cứ khi nào bất kỳ trực quan nào được làm mới, song song với việc sử dụng các tính năng tốn kém như Snapshot Isolation trong nguồn dữ liệu cơ bản.
Vấn đề này có thể được giảm thiểu ở một mức độ lớn bằng cách chọn Refresh để làm mới tất cả trực quan trên trang. Ngay cả khi sử dụng chế độ nhập (Import), vẫn có một vấn đề tương tự là đảm bảo tính nhất quán trong khi nhập dữ liệu từ nhiều bảng.
- Refresh (làm mới) trong Power BI Desktop là cần thiết để phản ánh bất kỳ thay đổi siêu dữ liệu nào: Sau khi báo cáo được xuất bản, Refresh sẽ làm mới các trực quan trong báo cáo. Nếu lược đồ của nguồn cơ bản đã thay đổi thì những thay đổi đó không tự động được áp dụng để thay đổi các trường có sẵn trong danh sách trường. Nếu các bảng hoặc cột đã bị xóa khỏi nguồn cơ bản, nó có thể dẫn đến lỗi truy vấn khi làm mới. Mở báo cáo trong Power BI Desktop và chọn Refresh cập nhật các trường trong mô hình để phản ánh các thay đổi.
- Giới hạn 1 triệu hàng được trả về cho bất kỳ truy vấn nào: Có một giới hạn cố định là 1 triệu hàng được đặt trên số hàng có thể trả về của bất kỳ truy vấn riêng lẻ nào trong nguồn cơ bản. Giới hạn này thường không có ý nghĩa thực tế và bản thân trực quan sẽ không hiển thị nhiều điểm như vậy. Tuy nhiên, giới hạn có thể xảy ra khi Power BI không tối ưu hóa hoàn toàn các truy vấn được gửi và có một số kết quả trung gian được yêu cầu vượt quá giới hạn. Nó cũng có thể xảy ra trong khi xây dựng trực quan, trên đường dẫn đến trạng thái hợp lý cuối cùng. Ví dụ, bao gồm Customer và TotalSaleQuantity sẽ đạt đến giới hạn này nếu có hơn 1 triệu khách hàng, cho đến khi một số bộ lọc được áp dụng.
Lỗi sẽ được trả về là: “Tập kết quả của truy vấn tới nguồn dữ liệu bên ngoài đã vượt quá kích thước tối đa cho phép của hàng là 1 triệu”.
- Không thể thay đổi từ chế độ import thành DirectQuery: Mặc dù có thể chuyển một mô hình từ chế độ DirectQuery sang import nhưng tất cả dữ liệu cần thiết phải được nhập. Cũng không thể chuyển đổi trở lại, chủ yếu do bộ tính năng không được hỗ trợ trong chế độ DirectQuery. Các mô hình DirectQuery trên các nguồn đa chiều như SAP BW cũng không thể chuyển từ DirectQuery sang import, vì các measure bên ngoài xử lý khác nhau.
2. DirectQuery trong Power BI service
Tất cả các nguồn được hỗ trợ trong Power BI Desktop. Một số nguồn cũng có sẵn trực tiếp từ bên trong Power BI service. Ví dụ, người dùng doanh nghiệp có thể dùng Power BI để kết nối với dữ liệu của họ trong Salesforce và ngay lập tức nhận được một dashboard mà không cần dùng Power BI Desktop.
Chỉ có 2 trong số các nguồn hỗ trợ DirectQuery có sẵn trực tiếp trong service:
- Spark
- Azure SQL Data Warehouse
Tuy nhiên, bạn nên bắt đầu sử dụng DirectQuery trên hai nguồn đó trong Power BI Desktop. Nguyên nhân là khi kết nối ban đầu được thực hiện trong Power BI service, nhiều hạn chế sẽ được áp dụng. Mặc dù điểm bắt đầu rất dễ, bắt đầu từ Power BI service nhưng vẫn có những hạn chế trong việc nâng cao báo cáo kết quả hơn nữa. Ví dụ, sau đó không thể tạo ra bất kỳ phép tính nào hoặc sử dụng nhiều tính năng phân tích, thậm chí làm mới siêu dữ liệu (metadata) hoặc phản ánh bất kỳ thay đổi nào đối với lược đồ cơ bản.
Trải qua 5 phần của bài viết về việc sử dụng DirectQuery trong Power BI, hy vọng rằng bạn đọc đã hiểu được ý nghĩa cũng như những lợi ích mà DirectQuery mang lại. Trong các nội dung tiếp theo, BAC sẽ đi vào hướng dẫn bạn cách sử dụng DirectQuery thành công dựa trên các ý nghĩa đã giới thiệu. Đừng quên đón đọc các bài viết mới nhất tại website bacs.vn.
Nguồn tham khảo:
Nhu cầu đào tạo doanh nghiệp
BAC là đơn vị đào tạo BA đầu tiên tại Việt Nam. Đối tác chính thức của IIBA quốc tế. Ngoài các khóa học public, BAC còn có các khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được thiết kế riêng theo yêu cầu của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và tư vấn phát triển.
Các bài viết liên quan Power BI:
- Power BI cơ bản cho người mới bắt đầu
- Chỉnh sửa và định hình dữ liệu trong Power BI Desktop
- Kết hợp dữ liệu trong Power BI Desktop
- Hướng dẫn kết nối dữ liệu trong Power BI Desktop
- Hướng dẫn tải & cài đặt Power BI trên máy tính
- Khóa học Phân tích và trực quan hóa dữ liệu với Power BI
- Power BI là gì?
Các bài viết liên quan:
- TABLEAU – Giải pháp BUSINESS INTELLIGENCE (BI) – click vào đây
- Hướng dẫn cài đặt và Sử dụng TABLEAU – click vào đây
- Tính năng mới trên tableau – verion 2019.1 – click vào đây
BAC – Biên soạn và tổng hợp nội dung