ฟังก์ชัน Collect, Clear และ ClearCollect

สร้างและล้าง คอลเลกชัน และเพิ่ม เรกคอร์ด ลงใน แหล่งข้อมูล ใดๆ

Collect

ใช้กับ: แอปพื้นที่ทำงาน การ์ด ปลั๊กอินแบบ low-code ของ Dataverse Power Platform CLI โฟลว์เดสก์ท็อป

ฟังก์ชัน Collect จะเพิ่มเรกคอร์ดลงในแหล่งข้อมูล รายการที่สามารถเพิ่มได้ ได้แก่:

  • ค่าเดียว: ค่าจะถูกวางในเขตฟิลด์ Value ของเรกคอร์ดใหม่ คุณสมบัติอื่นๆ ทั้งหมดจะถูกปล่อยให้ blank
  • เรกคอร์ด: แต่ละคุณสมบัติที่มีชื่อจะถูกวางในคุณสมบัติที่สอดคล้องกันของเรกคอร์ดใหม่ คุณสมบัติอื่นๆ ทั้งหมดจะถูกปล่อยให้ ว่างเปล่า
  • ตาราง: แต่ละเรกคอร์ดของตารางจะถูกเพิ่มเป็นเรกคอร์ดแยกต่างหากของแหล่งข้อมูล ตามที่อธิบายไว้ด้านบน ตารางจะไม่ถูกเพิ่มเป็นตารางที่ซ้อนกันไปยังเรกคอร์ด การทำเช่นนี้ ให้ครอบตารางในเรกคอร์ดก่อน

เมื่อใช้กับคอลเลกชัน คอลัมน์ เพิ่มเติม จะถูกสร้างขึ้นตามความจำเป็น คอลัมน์สำหรับแหล่งข้อมูลอื่นๆ จะถูกตรึงไว้โดยแหล่งข้อมูลและจะไม่สามารถเพิ่มคอลัมน์ใหม่ได้

ถ้ายังไม่มีแหล่งข้อมูล คอลเลกชันจะถูกสร้างขึ้น

ในบางครั้ง คอลเลกชันจะถูกใช้เพื่อเก็บตัวแปรส่วนกลางหรือทำสำเนาชั่วคราวของแหล่งข้อมูล แอปพื้นที่ทำงานจะยึดตามสูตรที่คำนวณใหม่โดยอัตโนมัติเมื่อผู้ใช้โต้ตอบกับแอป คอลเลกชันไม่มีสิทธิประโยชน์นี้ และการใช้งานคอลเลกชันอาจทำให้การสร้างและการทำความเข้าใจแอปของคุณยากขึ้น ก่อนที่จะใช้คอลเลกชันเพื่อวัตถุประสงค์นี้ ให้ตรวจสอบ การทำงานกับตัวแปร

คุณยังสามารถใช้ฟังก์ชัน Patch เพื่อสร้างเรกคอร์ดในแหล่งข้อมูล

Collect จะส่งกลับแหล่งข้อมูลที่ปรับเปลี่ยนเป็นตาราง Collect สามารถใช้ได้ใน สูตรการทำงาน เท่านั้น

Clear

ใช้กับ: แอปพื้นที่ทำงาน

ฟังก์ชัน Clear จะลบเรกคอร์ดทั้งหมดของคอลเลกชัน คอลัมน์ของคอลเลกชันจะยังคงอยู่

โปรดทราบว่า Clear จะทำงานกับคอลเลกชันเท่านั้น และไม่ทำงานกับแหล่งข้อมูลอื่นๆ คุณสามารถใช้ RemoveIf( DataSource, true ) เพื่อวัตถุประสงค์นี้ ใช้ความระมัดระวัง เนื่องจากการดำเนินการนี้จะลบเรกคอร์ดทั้งหมดออกจากที่เก็บข้อมูลของแหล่งข้อมูล และสามารถส่งผลกระทบต่อผู้ใช้อื่นๆ

คุณสามารถใช้ฟังก์ชัน Remove เพื่อลบเรกคอร์ดตามที่เลือก

Clear จะไม่ส่งกลับค่า และสามารถใช้ได้ในสูตรการทำงานเท่านั้น

ClearCollect

ใช้กับ: แอปพื้นที่ทำงาน แอปแบบจำลอง

ฟังก์ชัน ClearCollect จะลบเรกคอร์ดทั้งหมดจากคอลเลกชัน แล้วเพิ่มชุดเรกคอร์ดที่แตกต่างกันลงในคอลเลกชันเดียวกัน ในฟังก์ชันเดียว ClearCollect เสนอการผสมผสานของ Clear และ Collect

ClearCollect จะส่งกลับคอลเลกชันที่ปรับเปลี่ยนเป็นตาราง ClearCollect สามารถใช้ได้ในสูตรการทำงานเท่านั้น

การมอบหมาย

เมื่อใช้กับแหล่งข้อมูล ฟังก์ชันเหล่านี้ไม่สามารถมอบสิทธิ์ได้ เฉพาะแหล่งข้อมูลส่วนแรกเท่านั้นที่จะมีการเรียกข้อมูลแล้วมีการนำฟังก์ชันไปใช้ ผลลัพธ์อาจไม่แสดงข้อมูลการดำเนินการทั้งหมด คำเตือนอาจปรากฏในเวลาที่มีการสร้างเพื่อเตือนคุณเกี่ยวกับการจำกัดนี้และแนะนำให้สลับไปยังรายการอื่นที่สามารถมอบสิทธิ์ได้ หากสามารถทำได้ สำหรับข้อมูลเพิ่มเติม ดูที่ ภาพรวมของการมอบสิทธิ์

ไวยากรณ์

Collect( DataSource, Item, ... )

  • DataSource – จำเป็น แหล่งข้อมูลที่คุณต้องการเพิ่มข้อมูล ถ้ายังไม่มี คอลเลกชันใหม่จะถูกสร้างขึ้น
  • Item(s) - จำเป็นต้องมี เรกคอร์ดหรือตารางอย่างน้อยหนึ่งรายการที่จะเพิ่มไปยังแหล่งข้อมูล

Clear( Collection )

  • Collection – จำเป็นต้องมี คอลเลกชันที่คุณต้องการล้าง

ClearCollect( Collection, Item, ... )

  • Collection – จำเป็นต้องมี คอลเลกชันที่คุณต้องการล้าง แล้วเพิ่มข้อมูล
  • Item(s) - จำเป็นต้องมี เรกคอร์ดหรือตารางอย่างน้อยหนึ่งรายการที่จะเพิ่มไปยังแหล่งข้อมูล

ตัวอย่าง

การล้างและการเพิ่มเรกคอร์ดลงในแหล่งข้อมูล

ในตัวอย่างเหล่านี้ คุณจะลบและเพิ่มคอลเลกชันที่ชื่อว่า IceCream แหล่งข้อมูลจะเริ่มต้นด้วยเนื้อหาเหล่านี้:

แหล่งข้อมูลตัวอย่าง

สูตร รายละเอียด ผลลัพธ์
ClearCollect( IceCream, { Flavor: "Strawberry", Quantity: 300 } ) ล้างข้อมูลทั้งหมดออกจากคอลเลกชัน IceCream แล้วเพิ่มเรกคอร์ดที่มีจำนวนไอศกรีมรสสตรอเบอรี่ ตารางที่มีเรกคอร์ดหนึ่งรายการ

คอลเลกชัน IceCream ถูกปรับเปลี่ยนแล้ว
Collect( IceCream, { Flavor: "Pistachio", Quantity: 40 }, { Flavor: "Orange", Quantity: 200 } ) เพิ่มสองเรกคอร์ดลงในคอลเลกชัน IceCream ที่มีจำนวนของไอศกรีมรสพิสตาชิโอและรสส้ม ตารางที่มีสองเรกคอร์ด

คอลเลกชัน IceCream ถูกปรับเปลี่ยนแล้ว
Clear( IceCream ) ลบเรกคอร์ดทั้งหมดออกจากคอลเลกชัน IceCream ตารางเปล่า

คอลเลกชัน IceCream ถูกปรับเปลี่ยนแล้ว

สำหรับตัวอย่างทีละขั้นตอนเกี่ยวกับวิธีสร้างคอลเลกชันให้ดู สร้างและอัปเดตคอลเล็กชัน

เรกคอร์ดและตาราง

ตัวอย่างเหล่านี้ตรวจสอบว่าเรกคอร์ดและตารางที่ขัดแย้งกับ Collect และ ClearCollect ได้รับการจัดการแล้ว

สูตร คำอธิบาย ผลลัพธ์
ClearCollect( IceCream, { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) ล้างข้อมูลทั้งหมดและเพิ่มสองเรกคอร์ดไปยังคอลเลกชัน IceCream ที่มีจำนวนของไอศกรีมรสชอกโกแลตและวนิลา เรกคอร์ดที่จะเพิ่มถูกจัดเตรียมไว้เป็นอาร์กิวเมนต์แต่ละตัวของฟังก์ชัน เพิ่มเรกคอร์ดช็อคโกแลตและวานิลลาลงในคอลเลกชันแล้ว

คอลเลกชัน IceCream ถูกปรับเปลี่ยนแล้ว
ClearCollect( IceCream, Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) ) เหมือนกับตัวอย่างก่อนหน้ายกเว้นว่าเรกคอร์ดจะรวมกันในตารางและส่งผ่านอาร์กิวเมนต์เดียว เนื้อหาของตารางจะถูกแยกตามเรกคอร์ด ก่อนที่จะถูกเพิ่มลงในคอลเลกชัน IceCream เพิ่มเรกคอร์ดช็อคโกแลตและวานิลลาลงในคอลเลกชันและดัดแปลง

คอลเลกชัน IceCream ถูกปรับเปลี่ยนแล้ว
ClearCollect( IceCream,
{ MyFavorites: Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) } )
เหมือนกับตัวอย่างก่อนหน้ายกเว้นว่าตารางถูกครอบไว้ในเรกคอร์ด เรกคอร์ดของตารางจะไม่ถูกแยกและแทนที่ ตารางจะถูกเพิ่มเป็นเซลล์ของเรกคอร์ด เพิ่มเรกคอร์ดช็อกโกแลตและวานิลลาลงในคอลเลกชันที่แก้ไขด้วยตารางที่ถูกตัดในเรกคอร์ด

คอลเลกชัน IceCream ถูกปรับเปลี่ยนแล้ว