DirectQuery – Chế độ truy vấn dữ liệu trên Power BI 

Ngày đăng: 05/01/2023


Trong bài đăng này, chúng ta sẽ tìm hiểu về DirectQuery một trong các loại kết nối dữ liệu. DirectQuery hỗ trợ một lượng dữ liệu khổng đến hàng petabyte dữ liệu trong sở dữ liệu kết nối với từ Power BI. Chúng ta sẽ cùng tìm hiểu cách thức vận hành của DirectQuery vận dụng kiểu kết nối dữ liệu này. 

DirectQuery là gì ?

DirectQuery là một loại storage mode trong Power BI bên cạnh các chế độ khác như Import, Live connection, Composite. Power BI sẽ adữ liệu vào bộ nhớ khi sử dụng chế độ import. Với DirectQuery, máy tính của chúng ta sẽ không tiêu tốn bộ nhớ vì sẽ không có bản sao thứ hai của dữ liệu được lưu trữ. DirectQuery nghĩa là Power BI được kết nối trực tiếp với nguồn dữ liệu (Data source). Bất cứ lúc nào bạn nhìn thấy hình ảnh trực quan trong báo cáo; dữ liệu được lấy trực tiếp từ một truy vấn được gửi đến nguồn dữ liệu. 

dụ: Direct query với nguồn SQL server database

 

Nguồn dữ liệu nào hỗ trợ DirectQuery ?

Không giống như Import được hỗ trợ trong tất cả các loại nguồn dữ liệu, DirectQuery chỉ được hỗ trợ bởi một số nguồn dữ liệu hạn chế. Chúng ta không thể sử dụng Direct Query với những nguồn on-premises file như Excel, CSV… hay các nguồn như google sheet, one drive, web…  Thông thường, Direct query chỉ sử dụng được khi data source Relational Database hoặc một số nguồn khác hỗ trợ chế độ này Dưới đây một số nguồn dữ liệu được hỗ trợ thông qua DirectQuery:   

 

Amazon Redshift 

Azure HDInsight Spark 

Azure SQL Database 

Azure SQL Data Warehouse 

Google BigQuery 

IBM Netezza 

Impala 

Oracle Database 

SAP Business Warehouse 

SAP HANA 

Snowflake 

Spark 

SQL Server 

Teradata Database 

Vertica 

Power BI data sources – Power BI | Microsoft Learn 

Không Data view khi sử dụng DirectQuery 

Một trong những điều đầu tiên bạn sẽ nhận thấy trong Chế độ DirectQuery không Data view như chế độ import. Chúng ta chỉ Report view Data model view như dưới hình 

 

DirectQuery hoạt động như thế nào 

Với chế độ Direct query, mỗi khi chúng ta mở báo cáo, Power BI sẽ lập tức gửi một truy vấn đến nguồn dữ liệu kết quả của truy vấn đó sẽ được gửi về Power BI để hiển thị trên visual cho chúng ta 

Performance khi nào thì nên sử dụng DirectQuery? 

DirectQuery hoạt động chậm hơn nhiều so với tùy chọn Import Data. Truy vấn dữ liệu từ bộ nhớ (Import Data) luôn nhanh hơn truy vấn từ sở dữ liệu (DirectQuery). 

Truy vấn nguồn hạn chế 

Với DirectQuery, bạn thể áp dụng một số áp dụng được một số phép xử , biến đổi trong Power Query Editor. Tuy nhiên, không phải tất cả các phép biến đổi đều được hỗ trợ. Để biết phép biến đổi nào được hỗ trợ phép biến đổi nào không, trước tiên bạn phải kiểm tra nguồn dữ liệu. Một số nguồn dữ liệu hoàn toàn không hỗ trợ bất kỳ chuyển đổi nào, chẳng hạn như SAP Business Warehouse. Một số phép biến đổi, chẳng hạn như sở dữ liệu SQL Server, hỗ trợ nhiều phép biến đổi hơn. 

 

 

Nếu bạn sử dụng một chuyển đổi không được hỗ trợ, bạn sẽ nhận được thông báo lỗi cho biết “This step results in a query that is not supported in DirectQuery mode” 

Giới hạn về modelling DAX 

Việc tạo các calculated table được cho phép Composite mode chế độ Date hierarchy mặc định không sẵn Một số hàm DAX cũng không khả dụng đối với bảng sử dụng Direct query. Ngoài ra, các measure DAX phức tạp thể gây ra các vấn đề về hiệu suất trong chế độ DirectQuery 

Không cần refresh 

Một trong những ưu điểm của DirectQuery không phải thiết lập Refresh schedule. Bởi mỗi khi người dùng xem báo cáo, sẽ truy vấn được gửi đến sở dữ liệu kết quả sẽ trả về để hiển thị lên trên visual dữ liệu mới nhất 

Tập dữ liệu quy lớn 

Lợi ích chính của DirectQuery sử dụng trên một lượng lớn dữ liệu. Trên thực tế, tính năng này do chính bạn thể cần xem xét DirectQuery. Do dữ liệu không được tải vào bộ nhớ nên không giới hạn về kích thước của nguồn dữ liệu. Hạn chế duy nhất hạn chế bạn trong chính nguồn dữ liệu. Bạn thể hàng petabyte dữ liệu với kết nối DirectQuery. Tuy nhiên, bạn cần xem xét điều chỉnh hiệu suất trong nguồn dữ liệu như đã đề cập trước đó trong bài đăng này. 

 

Kết luận 

Không giới hạn kích thước do chính trong nhiều trường hợp do duy nhất khiến một số tình huống sử dụng DirectQuery. dựa trên những bạn đã học được trong bài đăng này, DirectQuery chậm hơn kém linh hoạt hơn, với ít tính năng hơn so với Power Query DAX.  

Tham khảo 

DirectQuery Connection in Power BI; How does it work? Limitations and Advantages – RADACAD 

 

Với các bạn mới bắt đầu tìm hiểu Power BI & mong muốn ứng dụng Power BI trong công việc, hãy tham khảo khóa học PL-300: Microsoft Power BI Data Analyst từ Datapot.

Được thiết kế và giảng dạy bởi các chuyên gia giàu kinh nghiệm làm việc và đào tạo trong ngành dữ liệu, được triển khai tại các doanh nghiệp như Unilever, SHB, MB Life Ageas,.., khóa học sẽ mang đến cho bạn những kiến thức và kỹ năng thực tiễn nhất.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *