Power BI: Incremental Refresh

Ngày đăng: 15/11/2022

Trong bài viết hôm nay, chúng ta sẽ cùng nhau tìm hiểu về Incremental Refresh (Làm mới tăng dần) và Hybrid Tables (Bảng dữ liệu hỗn hợp) – 2 kỹ thuật Power BI cao cấp giúp những nhà phân tích dữ liệu quản lý và thao tác trên những bộ dữ liệu khổng lồ một cách hiệu quả.

Incremental Refresh là gì? 

Khi bạn tải dữ liệu từ nguồn vào Power BI, có hai phương pháp:  

  • Full Load (Tải toàn bộ)  
  • Incremental Refresh (Làm mới tăng dần) 

Full Load có nghĩa là xóa sạch toàn bộ tập dữ liệu đã được tải trước đó và tải vào dữ liệu mới. Toàn bộ tập dữ liệu ở đây bao gồm dữ liệu gốc và cả các bước biến đổi dữ liệu Power Query. 

Nếu tập dữ liệu nhỏ hoặc quá trình làm mới không mất nhiều thời gian thì chúng ta sử dụng Full Load cho đơn giản. Tuy nhiên khi tập dữ liệu quá lớn, việc Full Load sẽ tiêu tốn rất nhiều thời gian và tài nguyên phần cứng để có thể hoàn thành.  

Ví dụ: Giả sử bạn có bộ dữ liệu 20 năm từ 2002 – 2022, trong đó dữ liệu trong vòng 10 năm, 5 năm, thậm chí 1 năm từ 2021 trở về trước sẽ không còn thay đổi nữa. Vậy thì tại sao ta phải mất công để tải lại toàn bộ lượng dữ liệu không thay đổi này làm gì?

Vì vậy, Incremental Refresh sẽ giúp ta xử lý vấn đề này bằng cách chỉ tải và làm mới phần dữ liệu có thay đổi, sau đó thêm vào phần dữ liệu không thay đổi tồn tại trước đó trong bộ dữ liệu.  

Phân vùng dữ liệu 

Incremental Refresh sẽ phân chia bộ dữ liệu thành 2 phân vùng. Tỷ lệ phân vùng sẽ phụ thuộc vào nhu cầu và thiết lập được áp dụng vào thời điểm thực hiện Incremental Refresh. 

Ví dụ: Giả sử bạn có bộ dữ liệu 10 năm từ 2012-2022 và bạn chỉ muốn làm mới dữ liệu trong năm 2021. Lúc này, bạn có thể phân vùng dữ liệu theo từng năm.

Như vậy, bạn có thể tải lại dữ liệu trong năm 2021 một cách thoải mái, trong khi đó dữ liệu trong năm hiện tại 2022 vẫn sẽ tiếp tục được tải và làm mới theo lịch trình được thiết lập sẵn. 

Hybrid Tables (Bảng dữ liệu hỗn hợp)

Nếu cần làm mới dữ liệu (gần với thời gian thực) trên một bảng dữ liệu lớn, ta có thể thiết kế bảng dữ liệu theo dạng Hybrid.

Hybrid nghĩa là bảng dữ liệu lúc này sẽ bao gồm 2 phân vùng: Imported Data (dữ liệu nhập) – phần dữ liệu không thay đổi và DirectQuery Data – phần dữ liệu được cập nhật và làm mới liên tục gần như real-time (thời gian thực). 

Hybrid Tables chỉ có thể sử dụng được khi bảng dữ liệu được thiết lập với chế độ Incremental Refresh.

Hybrid Tables

Các yêu cầu để có thể thiết lập Incremental Refresh

  • Yêu cầu 1: Bảng dữ liệu với trường Date 

Bạn cần có một bảng (hoặc nhiều hơn) với (các) trường ngày. Ngày là trường sẽ có tác động đến việc làm mới một phần dữ liệu.  

  • Yêu cầu 2: Một data source (nguồn dữ liệu) có hỗ trợ Query Folding

Query Folding là chức năng cho phép dịch các bước biến đổi dữ liệu Power Query sang ngôn ngữ của data source (chẳng hạn như T-SQL khi truy vấn dữ liệu từ SQL Server).  

  • Yêu cầu 3: Licensing Requirement 

Với phiên bản Power BI Pro, bạn đã có thể sử dụng Incremental Refresh. Tuy nhiên, để có thể sử dụng Hybrid Tables, bạn bắt buộc phải đăng ký Power BI Premium hoặc PPU.

Điểm hạn chế của Incremental Refresh 

Có một nhược điểm khá quan trọng cần lưu ý của Incremental Refresh, đó là bạn sẽ không thể tải xuống file PBIX từ Power BI service được nữa bởi dữ liệu lúc này đã được phân vùng. Mặt khác việc này cũng có thể là do dữ liệu đã quá lớn để có thể tải xuống.

Các bước thiết lập Incremental Refresh

  • Bước 1: Thiết lập Parameters (tham số) trong Power Query 

Trong Power BI, Incremental Refresh cần được thiết lập bằng Power Query parameters. Ta cần tạo 2 parameters là RangeStart RangeEnd.

Sau đó, click vào New Parameters.

Sau đó, tạo 2 parameters với kiểu dữ liệu DateTime được đặt tên là RangeStartRangeEnd và thiết lập default value (giá trị mặc định) cho 2 parameters này.

  • Bước 2: Lọc dữ liệu dựa trên Parameters

Sau khi đã tạo xong 2 parameters RangeStart RangeEnd, ta cần lọc dữ liệu của trường Date dựa trên 2 parameters này. 

Ví dụ: Trong bảng FactInternetSales, ta có thể lọc OrderDate như sau:

Ta có thể sử dụng bộ lọc Between bằng 2 parameters RangeStartRangeEnd.

Sau bước này, dữ liệu trong bảng sẽ được lọc theo giá trị mặc định mà ta đã thiết lập cho RangeStartRangeEnd parameters. Tuy nhiên, trong quá trình tùy chỉnh (configuration) cho thiết lập Incremental Refresh trên Power BI Desktop, ta có thể sẽ viết đè lại (overwrite) 2 parameters này. 

  • Bước 3: Thiết lập Incremental Refresh cho Power BI Desktop 

Bước cuối cùng trong Power BI Desktop là close&apply Power Query Editor và thiết lập Incremental Refresh cho bảng dữ liệu. 

Right-click vào bảng dữ liệu trên Power BI Desktop và chọn Incremental Refresh.

Thiết lập Incremental Refresh

Incremental Refresh chỉ có thể được thiết lập đối với bảng dữ liệu được lọc với 2 parameters RangeStartRangeEnd. 

Ví dụ: Bảng DimCustomer sẽ không cho phép thực hiện Incremental Refresh vì không được lọc theo 2 parameters này.

Có 3 lưu ý trong bước này: 

  1. Nếu data source có hỗ trợ Query Folding, Incremental Refresh sẽ hoạt động tốt nhất. Nếu không, việc này sẽ không được khuyến khích. Tuy nhiên trong hầu hết trường hợp, các bộ dữ liệu khổng lồ thường được nhập từ những Hệ thống CSDL quan hệ có hỗ trợ Query Folding. 
  2. Có Một tùy chỉnh lựa chọn “Get the latest data in real-time with DirectQuery” (Lấy dữ liệu mới nhất trong thời gian thực với DirectQuery) – yêu cầu phải có Premium hoặc bản quyền PPU. 
  3. Không thể tải xuống file PBIX từ PowerBI Service nếu Incremental Refresh được thiết lập.

Tùy chỉnh cho Incremental Refresh rất dễ. Ta chỉ cần thiết lập số lượng dòng dữ liệu để lưu (Store) (chỉ tải một lần và lưu) và số lượng dòng dữ liệu để làm mới (Refresh).

  • Bước 4 (Tùy chọn): Thiết lập Hybrid Tables 

Yêu cầu cần có Power BI Premium hoặc bản quyền PPU.

Incremental Refresh cho một bảng dữ liệu 

Incremental Refresh cho nhiều bảng dữ liệu 

Chỉ cần lọc các bảng dữ liệu này với 2 parameters RangeStart và RangeEnd đã tạo từ ban đầu là ta đã có thể thiết lập Incremental Parameters cho nhiều bảng.

Sau đó tùy chỉnh cho từng bảng.

  • Bước 5: Xuất báo cáo tên Power BI Service 

Sau khi thiết lập mọi thứ, ta có thể xuất file Power BI lên Service.

 

Nguồn tham khảo: Incremental Refresh and Hybrid tables in Power BI: Load Changes Only – RADACAD

 

Tham khảo thêm các bài viết khác về Power BI tại: Power BI Archives – Datapot.vn

Tham khảo thêm khóa học Phân tích dữ liệu cơ bản với Power BI: PL – 300: Microsoft Power BI Data Analyst

Nâng cao khả năng sử dụng Power BI với các kỹ thuật cao cấp tại: Power BI Advanced Data Modeling and Visualization – Datapot.vn

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 *