ลูปและการดำเนินการกับข้อมูล

Power Automate เบื้องต้น

Anushika Agarwal

Cloud Data Engineer

Apply to each

แผนภาพ Apply to each ที่วนซ้ำตามลำดับ: กล่อง Array of items ด้านบนมีไอคอนสีสามอัน ได้แก่ item a (สีเหลือง) item b (สีฟ้า) item c (สีชมพู) โดยมีลูกศรชี้เข้าไปยังคอนเทนเนอร์ Apply to each สีม่วงอ่อนแบบเส้นประ ซึ่งมีป้ายกำกับว่า sequential by default ภายในมีการ์ดการวนซ้ำเรียงซ้อนกันในแนวตั้ง 3 ใบ เชื่อมด้วยลูกศรชี้ลง แต่ละใบแสดง Iteration N โดยมี Current item เท่ากับไอคอนสีที่ตรงกัน (a จากนั้น b แล้วก็ c) พร้อมบรรทัด Process this item อยู่ด้านล่าง

 

  • ประมวลผล array ทีละรายการ
  • รันหนึ่งครั้งต่อรายการ โดยเข้าถึง Current item
  • ทำงานแบบ Sequential (ตามลำดับ) โดยค่าเริ่มต้น และทำแบบขนานได้ผ่าน Concurrency control
Power Automate เบื้องต้น

Current item

 

  • Current item = ค่าของการวนซ้ำรอบนี้
  • เปลี่ยนไปในแต่ละรอบของลูป
  • เข้าถึงได้จากแผง Dynamic content

$$

ข้อควรระวัง: ข้อผิดพลาดที่พบบ่อยคือการใช้ full array แทนที่จะเป็น Current item

แผง Dynamic content จริงของ Power Automate ที่เปิดจากฟิลด์ Inputs ของแอ็กชัน Compose แสดงกลุ่มโทเคนต่างๆ ได้แก่ Compose, Manually trigger a flow พร้อม See more 19, Date, Full address, Country/Region, City, State, Street จากนั้นมีส่วน Apply to each อยู่ด้านล่างโดยไฮไลต์รายการ Current item ด้วยกรอบสีแดง

Power Automate เบื้องต้น

กรองข้อมูลก่อนวนลูป

  • ใช้ Filter Array ก่อน

แผนภาพไปป์ไลน์แนวนอนแบบง่ายบนพื้นหลังสีขาว: คอลัมน์ Full list มีการ์ดตั๋ว 8 ใบวางซ้อนกันทางซ้าย (สีส้ม Urgent 3 ใบ สีเทา 5 ใบ) มีลูกศรชี้ไปยังการ์ด Filter Array สีม่วงอ่อนที่มีนิพจน์ item Status is equal to Urgent เป็นตัวอักษรแบบ monospace จากนั้นมีลูกศรชี้ไปยังคอลัมน์สั้นๆ ที่มีตั๋วสีส้ม Urgent เพียง 3 ใบทางขวา

Power Automate เบื้องต้น

ทำงานน้อยลงต่อการรัน

 

ไม่ใช้ Filter Array ใช้ Filter Array
ลูปรัน 500 ครั้ง 12 ครั้ง
ตรวจสอบเงื่อนไขต่อการรัน 500 (ครั้งละ 1 รายการ) 0 (filter ทำแล้ว)
เรียก API ต่อการรัน 500 12

 

  • Filter Array รันเพียงครั้งเดียว ส่วน Condition ภายใน Apply to each รันทุกรอบการวนซ้ำ
Power Automate เบื้องต้น

แอ็กชัน Filter array

 

การ์ดแอ็กชัน Filter array จริงของ Power Automate ที่ครอปเฉพาะแผงพารามิเตอร์ แสดงฟิลด์ From พร้อมข้อความตัวอย่าง Array to filter และ Filter Query ที่มีฟิลด์ย่อย 3 ฟิลด์ ได้แก่ Choose a value, is equal to, Choose a value พร้อมลิงก์ Edit in advanced mode

 

  • From: array ที่ต้องการกรอง
  • Filter Query: แถวเงื่อนไขเดียว ประกอบด้วย Left, Operator, Right
  • ใช้ item()?['Field'] ใน Left เพื่ออ่านฟิลด์จากแต่ละรายการ
  • Filter array ให้ผลลัพธ์เป็น Body ซึ่งคือ array ที่กรองแล้ว เลือก Body เมื่อวนลูปข้อมูลนี้
Power Automate เบื้องต้น

Body ไม่ใช่ Body Item

 

ตัวเลือก dynamic content จริงของ Power Automate ที่เปิดอยู่ใต้การ์ด Apply to each โดยส่วน Filter array แสดงผลลัพธ์ 2 รายการ ได้แก่ Body ซึ่งไฮไลต์ด้วยกรอบสีเขียว และ Body Item ซึ่งไฮไลต์ด้วยกรอบสีแดงด้านล่าง

 

  • เมื่อ Apply to each ใช้ผลลัพธ์จาก Filter array ให้เลือก Body
  • Body คือ array ที่กรองแล้วทั้งหมด ส่วน Body Item คือเรกคอร์ดเดียว ซึ่งจะทำให้ลูปรันแค่ ครั้งเดียว
Power Automate เบื้องต้น

Do Until

 

  • ทำซ้ำแอ็กชัน จนกว่าเงื่อนไขจะเป็นจริง
  • ไม่ใช้กับ array นั่นเป็นหน้าที่ของ Apply to Each
  • ใช้สำหรับรูปแบบ polling หรือ retry

$$

ตั้ง count limit เสมอ เพื่อป้องกันลูปไม่สิ้นสุด

แผนภาพลูป Do Until: คอนเทนเนอร์ลูปสีม่วงอ่อนแบบเส้นประมีป้ายกำกับ Do Until พร้อมป้ายนิรภัยสีเหลือง Count limit 60 ที่มุมขวาบน ภายในคอนเทนเนอร์มีกล่อง Run action(s) อยู่ด้านบนพร้อมคำอธิบาย เช่น poll job status มีลูกศรชี้ลงไปยังสัญลักษณ์สี่เหลี่ยมขนมเปียกปูนสีกลาง Condition met? สาขา False วกกลับขึ้นไปทางซ้ายเพื่อวนกลับเข้า Run action(s) พร้อมป้ายกำกับ repeat ส่วนสาขา True นำลงผ่านป้ายกำกับสีเขียว True ที่เป็นทางออกจากลูป แล้วออกจากคอนเทนเนอร์ไปยังกล่อง Continue flow สีเขียวด้านล่าง

Power Automate เบื้องต้น

การดำเนินการกับข้อมูล

 

การดำเนินการ ทำหน้าที่อะไร เหมาะสำหรับ
Select ปรับรูปแบบแต่ละรายการ เลือกฟิลด์ ตัด array ให้เหลือเฉพาะคอลัมน์ที่ต้องการ
Join รายการ → สตริงเดียวที่คั่นด้วยตัวคั่น รายการคั่นด้วยจุลภาคในหัวข้ออีเมล
Create HTML table Array → HTML สำหรับอีเมล สรุปข้อมูลที่จัดรูปแบบในเนื้อหาอีเมล
Create CSV table Array → CSV สำหรับส่งออก แนบข้อมูลสำหรับ Excel หรือเครื่องมืออื่น

 

Select + Create HTML table เป็นตัวหลักในการสร้างเนื้อหาอีเมล

Power Automate เบื้องต้น

มาฝึกกันเถอะ!

Power Automate เบื้องต้น

Preparing Video For Download...