Power app dataverse: Automate: Apply to each_2 :đồng bộ dữ liệu giữa các bảng

Ví dụ: Product name thường xuyên bị thay đổi, cần update hàng loạt product name (lấy từ bảng T_Product) cho cột Form_1 cho bảng master T_lot_detail, 2 cột name được link thông qua product ID.




List row bảng cần update(bảng master), trong đó:

1. Bắt buộc có cột GUID ID

2. Cột reference với bảng dimension.

3. Filter (nếu cần)



Tạo action apply to each


1.chọn Output từ List rows :outputs('List_rows')?['body/value']

2. Tao action Compose, chọn Input là Product_id (cột link 2 bảng) từ List rows :items('Apply_to_each')?['crff2_product_id']

3. Tạo action List rows 2, bao gồm:

- Chọn bảng dimension

- Chọn cột: bắt buộc cột link giữa 2 bảng, các cột chứa data cần lấy.

- Filter: quan trọng :crff2_productname eq 'outputs('Compose')' -chỗ outputs('Compose')' chọn trên giao diện.

=>toàn bộ bước này có ý nghĩa: với mỗi dòng của bảng master, kiểm tra xem bên bảng Product có chứa Product_ID hay không.



Tạo action Condition với setup như sau:

Điền công thức sau vào ô Expression
length(outputs('List_rows_2')?['body/value'])
=>Đây là bước để trả về kêt quả True/false cho bước so sánh trước đó.



Điền giá trị cần update:

1.Tại nhánh Yes, tạo action Apply to each với output Value từ List rows 2 :outputs('List_rows_2')?['body/value']
2. Tạo action "Update a row" cho table Master, row ID=GUID (Bắt buộc)
3. Chọn value chon cột cần được update, ví dụ ở đây chon field Proname từ List rows 2 :items('Apply_to_each_2')?['crff2_pro_name']



Run flow




Nhận xét