Power Automate - Cách thức hạn chế vòng lặp "Apply to Each" tốn nhiều thời gian

 

Đối với các bạn mới bắt đầu sử dụng Power Automate thì việc xử lý dữ liệu chưa được chuyên nghiệp nên thường gặp phải vấn đề là phải tải dữ liệu cơ sở và chạy vòng Apply to each --> Value


Vòng lặp Apply to each trong Power Automate chúng ta thường xuyên gặp phải khi tải các dữ liệu từ Sharepoint, Excel, Dataverse, SQL...Trong một số trường hợp chúng ta phải sử dụng nó để tính toán và xử lý cho các bước tiếp theo nhưng trong một số trường hợp đơn giản hơn như trích xuất dữ liệu các mục trong dữ liệu ra thành dạng Mảng (dãy) , tính tổng của mảng đó, tính chiều dài của dãy đó,và còn nhiều mục đích khác nữa.

Ví dụ: 
Ta có một bản dữ liệu đơn giản thế này cần lọc ra Region Central ra để tính toán thì làm thế nào? 

RegionRepItemUnitsUnitCostTotal
EastJonesPencil951.99189.05
CentralKivellBinder5019.99999.50
CentralJardinePencil364.99179.64
CentralGillPen2719.99539.73
WestSorvinoPencil562.99167.44
EastJonesBinder604.99299.40

Cách 1: Cách truyền thống đơn giản nhất 

 
Chạy vòng lặp Apply to each để lọc ra giá trị mong muốn  trong trường hợp này là 
 Cột Region = Central

Cách này cần 8 giây để xử lý 43 dòng dữ liệu  

Cách 2: Cách chạy bằng lệnh Filter  

Sử dụng expression:  item()['Region'] để thay thế các yếu tó chọn từ bảng dynamic content 

Phương pháp này cần 0 giây để xử lý 43 dòng dữ liệu:




 

Nhận xét