ฟังก์ชัน Remove และ RemoveIf
ใช้กับ: แอป Canvas แอปที่ใช้โมเดล Power Platform CLI
ลบ เรกคอร์ด ออกจาก แหล่งข้อมูล
หมายเหตุ
คำสั่ง pac power-fx ของ PAC CLI ไม่สนับสนุนฟังก์ชัน RemoveIf
Description
ฟังก์ชัน Remove
ใช้ฟังก์ชัน Remove เมื่อต้องลบเรกคอร์ดที่ระบุหรือเรกคอร์ดจากแหล่งข้อมูล
สำหรับ คอลเลกชัน ทั้งเรกคอร์ดต้องตรงกัน คุณสามารถใช้อาร์กิวเมนต์ RemoveFlags.All เพื่อลบสำเนาของเรกคอร์ดทั้งหมดออก มิฉะนั้น จะลบสำเนาของเรกคอร์ดเดียวออกเท่านั้น
ฟังก์ชัน RemoveIf
ใช้ฟังก์ชัน RemoveIf เพื่อลบเรกคอร์ดหรือเรกคอร์ดที่ยึดตามเงื่อนไขหรือชุดของเงื่อนไขออก ในเงื่อนไขรายการสามารถเป็นสูตรใดก็ได้ที่ส่งผลให้เกิด จริง หรือ เท็จ และสามารถอ้างอิง คอลัมน์ ของแหล่งข้อมูลตามชื่อ เงื่อนไขแต่ละรายการจะถูกประเมินสำหรับแต่ละเรกคอร์ด และเรกคอร์ดจะถูกลบออกถ้าเงื่อนไขทั้งหมดประเมินเป็น จริง
ลบ และ ลบถ้า ส่งคืน แหล่งข้อมูล ที่แก้ไขแล้วเป็น ตาราง คุณสามารถใช้ทั้งสองฟังก์ชันใน สูตรของลักษณะการทำงาน เท่านั้น
คุณยังสามารถใช้ฟังก์ชัน Clear เพื่อลบเรกคอร์ดทั้งหมดในคอลเลกชัน
การมอบหมาย
เมื่อใช้กับแหล่งข้อมูล ฟังก์ชันเหล่านี้ไม่สามารถมอบสิทธิ์ได้ เฉพาะแหล่งข้อมูลส่วนแรกเท่านั้นที่จะมีการเรียกข้อมูลแล้วมีการนำฟังก์ชันไปใช้ สิ่งนี้อาจไม่แสดงข้อมูลการดำเนินการทั้งหมด คำเตือนอาจปรากฏขึ้นในขณะเขียน เพื่อเตือนคุณถึงข้อจำกัดนี้
การสนับสนุนการมอบหมาย (ทดลอง)
การสนับสนุนการมอบหมายสำหรับ RemoveIf ขณะนี้อยู่ในการแสดงตัวอย่างการทดลอง (ปิดค่าเริ่มต้น) สำหรับแหล่งข้อมูลที่สนับสนุน หากแหล่งข้อมูลไม่รองรับคุณลักษณะนี้ Power Apps จะส่งแบบสอบถามไปยังเซิร์ฟเวอร์และดึงข้อมูลทั้งหมดที่ตรงกับนิพจน์ตัวกรองสูงสุด 500, 2000 หรือขนาดหน้าข้อมูล จากนั้นจะดำเนินการลบในแต่ละเรคคอร์ดเหล่านั้นด้วยการเรียกแต่ละครั้งไปยังเซิร์ฟเวอร์
ไวยากรณ์
ลบ( แหล่งข้อมูล, ระเบียน1 [, ระเบียน2, ... ] [, ลบแฟล็กทั้งหมด ] )
- DataSource – จำเป็น แหล่งข้อมูลที่มีเรกคอร์ดที่คุณต้องการลบออก
- บันทึก – จำเป็น เรกคอร์ดหรือเรกคอร์ดเพื่อลบออก
- RemoveFlags.All – ไม่บังคับ ในคอลเลกชัน เรกคอร์ดเดียวกันอาจปรากฏขึ้นมากกว่าหนึ่งครั้ง คุณสามารถเพิ่มอาร์กิวเมนต์ RemoveFlags.All เพื่อลบสำเนาของเรกคอร์ดออกทั้งหมด
ลบ( แหล่งข้อมูล, ตาราง [, ลบแฟล็กทั้งหมด ] )
- DataSource – จำเป็น แหล่งข้อมูลที่มีเรกคอร์ดที่คุณต้องการลบออก
- ตาราง – จำเป็น ตารางของเรกคอร์ดที่จะลบออก
- RemoveFlags.All – ไม่บังคับ ในคอลเลกชัน เรกคอร์ดเดียวกันอาจปรากฏขึ้นมากกว่าหนึ่งครั้ง คุณสามารถเพิ่มอาร์กิวเมนต์ RemoveFlags.All เพื่อลบสำเนาของเรกคอร์ดออกทั้งหมด
เอาออกถ้า( แหล่งข้อมูล, เงื่อนไข [, ... ] )
- DataSource – จำเป็น แหล่งข้อมูลที่มีเรกคอร์ดที่คุณต้องการลบออก
- เงื่อนไข – จำเป็น สูตรที่ประเมินเป็น จริง สำหรับเรกคอร์ด หรือเรกคอร์ดที่จะนำออก คุณสามารถใช้ชื่อคอลัมน์จาก DataSource ในสูตรได้ ถ้าคุณระบุหลาย เงื่อนไข ทั้งหมดต้องประเมินว่า จริง สำหรับเรกคอร์ดหรือเรกคอร์ดที่จะถูกลบออก
ตัวอย่าง - สูตรเดี่ยว
ในตัวอย่างเหล่านี้ คุณจะลบออกหรือปรับเปลี่ยนเรกคอร์ดในแหล่งข้อมูลที่มีชื่อว่า IceCream และที่เริ่มต้นด้วยข้อมูลในตารางนี้:
สร้างคอลเลกชันที่มีเรกคอร์ดตัวอย่าง
การสร้างคอลเลกชันด้วยข้อมูลนี้:
แทรกตัวควบคุม ปุ่ม
ตั้งค่าคุณสมบัติ OnSelect ของตัวควบคุม ปุ่ม เป็นสูตรด้านล่างนี้:
ClearCollect( IceCream, { ID: 1, Flavor: "Chocolate", Quantity: 100 }, { ID: 2, Flavor: "Vanilla", Quantity: 200 }, { ID: 3, Flavor: "Strawberry", Quantity: 300 } )
เลือกปุ่ม ขณะที่กดแป้น Alt ค้างไว้:
ลบเรกคอร์ดตัวอย่างจากคอลเลกชันโดยใช้สูตร
สูตร | รายละเอียด | Result |
---|---|---|
ลบ( ไอศกรีม, LookUp( IceCream, Flavor="Chocolate" )) |
ลบเรกคอร์ด ช็อกโกแลต ออกจากแหล่งข้อมูล | แหล่งข้อมูล ไอศครีม ได้ถูกปรับเปลี่ยนแล้ว |
ลบ( ไอศกรีม, LookUp( IceCream, Flavor="Chocolate" ), LookUp( IceCream, Flavor="Strawberry" ) ) |
ลบเรกคอร์ดสองเรกคอร์ดออกจากแหล่งข้อมูล | แหล่งข้อมูล ไอศครีม ได้ถูกปรับเปลี่ยนแล้ว |
RemoveIf(ไอศกรีม, จำนวน > 150 ) | ลบเรกคอร์ดที่มี ปริมาณ ที่มากกว่า 150 ออก | แหล่งข้อมูล ไอศครีม ได้ถูกปรับเปลี่ยนแล้ว |
RemoveIf(ไอศกรีม, จำนวน > 150, Left(รสชาติ, 1 ) = "S" ) | ลบเรกคอร์ดที่มี ปริมาณ มีค่ามากกว่า 150 และ รสชาติ ที่เริ่มต้นด้วย S | แหล่งข้อมูล ไอศครีม ได้ถูกปรับเปลี่ยนแล้ว |
RemoveIf(ไอศกรีม, true) | ลบเรกคอร์ดสองเรกคอร์ดออกจากแหล่งข้อมูล | แหล่งข้อมูล ไอศครีม ได้ถูกปรับเปลี่ยนแล้ว |
ตัวอย่าง - ปุ่มลบออกภายนอกแกลเลอรี่
ในตัวอย่างนี้คุณจะใช้ ตัวควบคุมแกลเลอรี เพื่อแสดงรายการเรกคอร์ดในตาราง จากนั้นใช้ฟังก์ชัน Remove เพื่อลบเรกคอร์ดตามที่เลือก
จัดทำข้อมูลตัวอย่าง
ตัวอย่างนี้ใช้ตาราง ผู้ติดต่อ ใน Microsoft Dataverse ที่สามารถใช้ได้กับ แอปตัวอย่างและข้อมูล คุณสามารถปรับใช้ แอปและข้อมูลตัวอย่าง เมื่อคุณ สร้างสภาพแวดล้อม คุณสามารถใช้แหล่งข้อมูลอื่นๆ แทนได้
ปุ่มลบออกภายนอกแกลเลอรี่
ในตัวอย่างนี้ คุณจะลบรายการโดยใช้ ปุ่ม ที่อยู่นอกแกลเลอรี
สร้าง แอปพื้นที่ทำงานว่างเปล่าใหม่ ใช้เค้าโครงโทรศัพท์
เลือก แทรก จากบานหน้าต่างด้านซ้าย
เลือก แกลเลอรี่แนวตั้ง
ตัวควบคุม แกลเลอรี เพิ่มลงในหน้าจอของคุณคุณจะได้รับแจ้งให้เลือกแหล่งข้อมูล ซึ่งคุณสามารถเลือกแหล่งข้อมูลจากแหล่งข้อมูลที่มีอยู่
ตัวอย่างเช่น เลือกตาราง ผู้ติดต่อ เพื่อใช้งาน ข้อมูลตัวอย่าง:แกลเลอรีแสดงรายการจากตารางนี้:
แทรกตัวควบคุม ปุ่ม จากบานหน้าต่างด้านซ้าย:
ย้ายปุ่มที่เพิ่มไปไว้ด้านล่างรายการแกลเลอรี่:
อัปเดตคุณสมบัติข้อความของปุ่มเป็น ลบเรกคอร์ด คุณยังสามารถใช้ข้อความอื่นใดๆ ได้ตามต้องการ:
ตั้งค่าคุณสมบัติ OnSelect ของตัวควบคุมปุ่มนี้ ด้วยสูตรต่อไปนี้:
Remove( Contacts, Gallery1.Selected )
ตัวควบคุมแกลเลอรีทำให้เรกคอร์ดที่เลือกในปัจจุบันพร้อมใช้งาน โดยใช้คุณสมบัติ Selected ฟังก์ชัน Remove จะอ้างอิงถึงระเบียนที่เลือกนี้เพื่อลบออก
ดูตัวอย่างแอปโดยใช้ปุ่ม เล่น ด้านบนขวา หรือกด F5 บนแป้นพิมพ์:
เลือกเรกคอร์ดที่จะลบเช่น เรกคอร์ดของ Nancy ในตัวอย่างนี้:
เลือก ลบเรกคอร์ด:
การเลือกปุ่มจะลบเรกคอร์ดที่เลือก (ในตัวอย่างนี้เรกคอร์ดของ Nancy)
ปิดการแสดงตัวอย่างแอป
เคล็ดลับ
คุณยังสามารถใช้ลักษณะการทำงานทางเลือกด้วย ปุ่ม Alt แทนที่จะใช้การแสดงตัวอย่างแอป ด้วยปุ่ม เล่น หรือ F5
ตัวอย่าง - ไอคอนถังขยะภายในแกลเลอรี
ในตัวอย่างนี้ คุณจะลบรายการโดยใช้ ไอคอน ที่อยู่ในแกลเลอรี
สร้างคอลเลกชันที่มีข้อมูลตัวอย่าง
หากคุณมีอยู่แล้ว ข้อมูลตัวอย่างที่เตรียมไว้ ข้ามขั้นตอนนี้ และไปที่ ไอคอนถังขยะภายในแกลเลอรี่
เพิ่มตัวควบคุม ปุ่ม ให้กับหน้าจอของคุณ
ตั้งค่าคุณสมบัติ OnSelect เป็นสูตรต่อไปนี้:
ClearCollect( SampleContacts, { 'Full Name': "Yvonne McKay (sample)", 'Primary Email': "someone_a@example.com" }, { 'Full Name': "Susanna Stubberod (sample)", 'Primary Email': "someone_b@example.com" }, { 'Full Name': "Nancy Anderson (sample)", 'Primary Email': "someone_c@example.com" }, { 'Full Name': "Maria Campbell (sample)", 'Primary Email': "someone_d@example.com" }, { 'Full Name': "Robert Lyon (sample)", 'Primary Email': "someone_e@example.com" }, { 'Full Name': "Paul Cannon (sample)", 'Primary Email': "someone_f@example.com" }, { 'Full Name': "Rene Valdes (sample)", 'Primary Email': "someone_g@example.com" } )
เลือกปุ่ม ขณะที่กดแป้น Alt ค้างไว้
คอลเลกชันตัวอย่างที่สร้างขึ้นที่คุณสามารถใช้ในตัวอย่างต่อไปนี้
ไอคอนถังขยะภายในแกลเลอรี
สร้าง แอปพื้นที่ทำงานว่างเปล่าใหม่ ใช้เค้าโครงโทรศัพท์
เลือก แทรก จากบานหน้าต่างด้านซ้าย
เลือก แกลเลอรี่แนวตั้ง
ตัวควบคุม แกลเลอรี เพิ่มลงในหน้าจอของคุณคุณจะได้รับแจ้งให้เลือกแหล่งข้อมูล ซึ่งคุณสามารถเลือกแหล่งข้อมูลจากแหล่งข้อมูลที่มีอยู่
ตัวอย่างเช่น เลือกตาราง ผู้ติดต่อ เพื่อใช้งาน ข้อมูลตัวอย่าง:หากคุณสร้าง คอลเลกชัน เลือกคอลเลกชันของคุณแทน:
เลือกตัวควบคุมภายในรายการบนสุดในแกลเลอรี
เพื่อให้แน่ใจว่าขั้นตอนต่อไปจะแทรกรายการลงในเทมเพลตของแกลเลอรี่และไม่ได้อยู่นอกแกลเลอ รีให้แน่ใจว่าคุณทำตามขั้นตอนนี้ก่อนที่จะย้ายไปยังขั้นตอนถัดไป
เลือก เพิ่มไอคอน จากบานหน้าต่างด้านซ้าย
หมายเหตุ
เพิ่มไอคอน แทรก + ไอคอนที่ด้านซ้ายของแกลเลอรี โดยจำลองสำหรับแต่ละรายการในแกลเลอรี
ในรายการด้านบน ให้ย้ายไอคอนไปทางด้านขวาของหน้าจอ
เลือกคุณสมบัติ Icon สำหรับไอคอนและตั้งค่าเป็นสูตรต่อไปนี้เพื่ออัปเดตรูปไอคอนเป็นไอคอนถังขยะ:
Icon.Trash
หมายเหตุ
คำนำหน้า ไอคอน จะปรากฏเฉพาะเมื่อคุณแก้ไขสูตรอย่างมีประสิทธิภาพ
ตั้งค่าคุณสมบัติ OnSelect เป็นสูตรต่อไปนี้:
Remove( [@Contacts], ThisItem )
หมายเหตุ
คุณต้องใช้ ตัวดำเนินการแก้ความกำกวมส่วนกลาง[@...] ในตัวอย่างนี้ด้วยข้อมูลตัวอย่างที่ใช้ตาราง ผู้ติดต่อ เพื่อหลีกเลี่ยงความขัดแย้งกับความสัมพันธ์ หนึ่งต่อกลุ่ม หากคุณใช้แหล่งข้อมูล เช่น รายการหรือตาราง SQL Server การใช้ ตัวดำเนินการแก้ความกำกวมส่วนกลาง ไม่จำเป็น
ดูตัวอย่างแอปโดยใช้ปุ่ม เล่น ด้านบนขวา หรือกด F5 บนแป้นพิมพ์
เลือกไอคอนถังขยะถัดจากเรกคอร์ด ตัวอย่างเช่น Maria's:
เรกคอร์ดถูกลบ:
ปิดการแสดงตัวอย่างแอป