ฟังก์ชัน Collect, Clear และ ClearCollect
สร้างและล้าง คอลเลกชัน และเพิ่ม เรกคอร์ด ลงใน แหล่งข้อมูล ใดๆ
Collect
ใช้กับ: แอปพลิเคชัน Canvas การ์ด Dataverse ปลั๊กอิน low-code Power Platform CLI โฟลว์เดสก์ท็อป
ฟังก์ชัน Collect จะเพิ่มเรกคอร์ดลงในแหล่งข้อมูล รายการที่สามารถเพิ่มได้ ได้แก่:
- ค่าเดียว: ค่าจะถูกวางในเขตฟิลด์ Value ของเรกคอร์ดใหม่ คุณสมบัติอื่นๆ ทั้งหมดจะถูกปล่อยให้ blank
- เรกคอร์ด: แต่ละคุณสมบัติที่มีชื่อจะถูกวางในคุณสมบัติที่สอดคล้องกันของเรกคอร์ดใหม่ คุณสมบัติอื่นๆ ทั้งหมดจะถูกปล่อยให้ ว่างเปล่า
- ตาราง: แต่ละเรกคอร์ดของตารางจะถูกเพิ่มเป็นเรกคอร์ดแยกต่างหากของแหล่งข้อมูล ตามที่อธิบายไว้ด้านบน ตารางจะไม่ถูกเพิ่มเป็นตารางที่ซ้อนกันไปยังเรกคอร์ด การทำเช่นนี้ ให้ครอบตารางในเรกคอร์ดก่อน
เมื่อใช้กับคอลเลกชัน คอลัมน์ เพิ่มเติม จะถูกสร้างขึ้นตามความจำเป็น คอลัมน์สำหรับแหล่งข้อมูลอื่นๆ จะถูกตรึงไว้โดยแหล่งข้อมูลและจะไม่สามารถเพิ่มคอลัมน์ใหม่ได้
ถ้ายังไม่มีแหล่งข้อมูล คอลเลกชันจะถูกสร้างขึ้น
ในบางครั้ง คอลเลกชันจะถูกใช้เพื่อเก็บตัวแปรส่วนกลางหรือทำสำเนาชั่วคราวของแหล่งข้อมูล แอปพื้นที่ทำงานจะยึดตามสูตรที่คำนวณใหม่โดยอัตโนมัติเมื่อผู้ใช้โต้ตอบกับแอป คอลเลกชันไม่มีสิทธิประโยชน์นี้ และการใช้งานคอลเลกชันอาจทำให้การสร้างและการทำความเข้าใจแอปของคุณยากขึ้น ก่อนที่จะใช้คอลเลกชันเพื่อวัตถุประสงค์นี้ ให้ตรวจสอบ การทำงานกับตัวแปร
คุณยังสามารถใช้ฟังก์ชัน Patch เพื่อสร้างเรกคอร์ดในแหล่งข้อมูล
Collect ส่งคืน แหล่งข้อมูล ที่ปรับเปลี่ยนแล้วเป็นตาราง Collect สามารถใช้ได้เฉพาะใน สูตรพฤติกรรมเท่านั้น
Clear
ใช้กับ: แอป Canvas
ฟังก์ชัน Clear จะลบเรกคอร์ดทั้งหมดของคอลเลกชัน คอลัมน์ของคอลเลกชันจะยังคงอยู่
โปรดทราบว่า Clear จะทำงานกับคอลเลกชันเท่านั้น และไม่ทำงานกับแหล่งข้อมูลอื่นๆ คุณสามารถใช้ RemoveIf( DataSource, true ) เพื่อวัตถุประสงค์นี้ ใช้ความระมัดระวัง เนื่องจากการดำเนินการนี้จะลบเรกคอร์ดทั้งหมดออกจากที่เก็บข้อมูลของแหล่งข้อมูล และสามารถส่งผลกระทบต่อผู้ใช้อื่นๆ
คุณสามารถใช้ฟังก์ชัน Remove เพื่อลบเรกคอร์ดตามที่เลือก
Clear ไม่มีค่าส่งคืน และสามารถใช้ได้ในสูตรการทำงานเท่านั้น
ClearCollect
ใช้กับ: แอป Canvas แอปที่ขับเคลื่อนด้วยโมเดล
ฟังก์ชัน ClearCollect จะลบเรกคอร์ดทั้งหมดจากคอลเลกชัน แล้วเพิ่มชุดเรกคอร์ดที่แตกต่างกันลงในคอลเลกชันเดียวกัน ในฟังก์ชันเดียว ClearCollect เสนอการผสมผสานของ Clear และ Collect
ClearCollect ส่งคืนคอลเลกชันที่ปรับเปลี่ยนเป็นตาราง ClearCollect สามารถใช้ได้ในสูตรพฤติกรรมเท่านั้น
การมอบหมาย
เมื่อใช้กับแหล่งข้อมูล ฟังก์ชันเหล่านี้ไม่สามารถมอบสิทธิ์ได้ เฉพาะแหล่งข้อมูลส่วนแรกเท่านั้นที่จะมีการเรียกข้อมูลแล้วมีการนำฟังก์ชันไปใช้ ผลลัพธ์อาจไม่แสดงข้อมูลการดำเนินการทั้งหมด คำเตือนอาจปรากฏในเวลาที่มีการสร้างเพื่อเตือนคุณเกี่ยวกับการจำกัดนี้และแนะนำให้สลับไปยังรายการอื่นที่สามารถมอบสิทธิ์ได้ หากสามารถทำได้ สำหรับข้อมูลเพิ่มเติม ดูที่ ภาพรวมของการมอบสิทธิ์
ไวยากรณ์
รวบรวม( DataSource, Item, ... )
- DataSource – จำเป็น แหล่งข้อมูลที่คุณต้องการเพิ่มข้อมูล ถ้ายังไม่มี คอลเลกชันใหม่จะถูกสร้างขึ้น
- รายการ - จำเป็น เรกคอร์ดหรือตารางอย่างน้อยหนึ่งรายการที่จะเพิ่มไปยังแหล่งข้อมูล
ล้าง( คอลเลกชัน )
- คอลเลกชัน – จำเป็น คอลเลกชันที่คุณต้องการล้าง
ClearCollect( คอลเลกชัน, รายการ, ... )
- คอลเลกชัน – จำเป็น คอลเลกชันที่คุณต้องการล้าง แล้วเพิ่มข้อมูล
- รายการ - จำเป็น เรกคอร์ดหรือตารางอย่างน้อยหนึ่งรายการที่จะเพิ่มไปยังแหล่งข้อมูล
ตัวอย่าง
การล้างและการเพิ่มเรกคอร์ดลงในแหล่งข้อมูล
ในตัวอย่างเหล่านี้ คุณจะลบและเพิ่มคอลเลกชันที่ชื่อว่า IceCream แหล่งข้อมูลจะเริ่มต้นด้วยเนื้อหาเหล่านี้:
สูตร | รายละเอียด | ผลลัพธ์ |
---|---|---|
ClearCollect(ไอศกรีม, { รสชาติ: "สตรอเบอร์รี่", จำนวน: 300 } ) | ล้างข้อมูลทั้งหมดออกจากคอลเลกชัน IceCream แล้วเพิ่มเรกคอร์ดที่มีจำนวนไอศกรีมรสสตรอเบอรี่ | คอลเลกชัน IceCream ถูกปรับเปลี่ยนแล้ว |
เก็บ(ไอศกรีม, { รสชาติ: "พิสตาชิโอ", จำนวน: 40 }, { รสชาติ: "ส้ม", จำนวน: 200 } ) | เพิ่มสองเรกคอร์ดลงในคอลเลกชัน IceCream ที่มีจำนวนของไอศกรีมรสพิสตาชิโอและรสส้ม | คอลเลกชัน IceCream ถูกปรับเปลี่ยนแล้ว |
เคลียร์(ไอศกรีม) | ลบเรกคอร์ดทั้งหมดออกจากคอลเลกชัน IceCream | คอลเลกชัน IceCream ถูกปรับเปลี่ยนแล้ว |
สำหรับตัวอย่างทีละขั้นตอนเกี่ยวกับวิธีสร้างคอลเลกชันให้ดู สร้างและอัปเดตคอลเล็กชัน
เรกคอร์ดและตาราง
ตัวอย่างเหล่านี้ตรวจสอบว่าเรกคอร์ดและตารางที่ขัดแย้งกับ Collect และ ClearCollect ได้รับการจัดการแล้ว
สูตร | คำอธิบาย | ผลลัพธ์ |
---|---|---|
ClearCollect(ไอศกรีม, { รสชาติ: "ช็อคโกแลต", จำนวน: 100 }, { รสชาติ: "วานิลลา", จำนวน: 200 } ) | ล้างข้อมูลทั้งหมดและเพิ่มสองเรกคอร์ดไปยังคอลเลกชัน IceCream ที่มีจำนวนของไอศกรีมรสชอกโกแลตและวนิลา เรกคอร์ดที่จะเพิ่มถูกจัดเตรียมไว้เป็นอาร์กิวเมนต์แต่ละตัวของฟังก์ชัน | คอลเลกชัน IceCream ถูกปรับเปลี่ยนแล้ว |
ClearCollect(ไอศกรีม, โต๊ะ( { รสชาติ: "ช็อคโกแลต", จำนวน: 100 }, { รสชาติ: "วานิลลา", จำนวน: 200 } ) ) | เหมือนกับตัวอย่างก่อนหน้ายกเว้นว่าเรกคอร์ดจะรวมกันในตารางและส่งผ่านอาร์กิวเมนต์เดียว เนื้อหาของตารางจะถูกแยกตามเรกคอร์ด ก่อนที่จะถูกเพิ่มลงในคอลเลกชัน IceCream | คอลเลกชัน IceCream ถูกปรับเปลี่ยนแล้ว |
ClearCollect(ไอศกรีม, { MyFavorites: Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) } ) |
เหมือนกับตัวอย่างก่อนหน้ายกเว้นว่าตารางถูกครอบไว้ในเรกคอร์ด เรกคอร์ดของตารางจะไม่ถูกแยกและแทนที่ ตารางจะถูกเพิ่มเป็นเซลล์ของเรกคอร์ด | คอลเลกชัน IceCream ถูกปรับเปลี่ยนแล้ว |