ฟังก์ชัน Remove และ RemoveIf

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

ลบ เรกคอร์ด ออกจาก แหล่งข้อมูล

หมายเหตุ

คำสั่ง PAC CLI pac power-fx ไม่สนับสนุนฟังก์ชัน RemoveIf

Description

ฟังก์ชัน Remove

ใช้ฟังก์ชัน Remove เมื่อต้องลบเรกคอร์ดที่ระบุหรือเรกคอร์ดจากแหล่งข้อมูล

สำหรับ คอลเลกชัน ทั้งเรกคอร์ดต้องตรงกัน คุณสามารถใช้อาร์กิวเมนต์ RemoveFlags.All เพื่อลบสำเนาของเรกคอร์ดทั้งหมดออก มิฉะนั้น จะลบสำเนาของเรกคอร์ดเดียวออกเท่านั้น

ฟังก์ชัน RemoveIf

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

ทั้ง Remove และ RemoveIf ส่งกลับแหล่งข้อมูลที่ปรับเปลี่ยนแล้วเป็น ตาราง คุณสามารถใช้ทั้งสองฟังก์ชันใน สูตรของลักษณะการทำงาน เท่านั้น

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

การมอบหมาย

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

การสนับสนุนการมอบหมาย (ทดลอง)

การสนับสนุนการมอบหมายสำหรับ RemoveIf ขณะนี้อยู่ในการแสดงตัวอย่างการทดลอง (ปิดค่าเริ่มต้น) สำหรับแหล่งข้อมูลที่สนับสนุน หากแหล่งข้อมูลไม่รองรับฟีเจอร์นี้ Power Apps จะส่งการสอบถามไปยังเซิร์ฟเวอร์ และดึงข้อมูลทั้งหมดที่ตรงกับนิพจน์ตัวกรองสูงสุดไม่เกิน 500, 2000 หรือขนาดหน้าข้อมูล จากนั้นจะดำเนินการลบในแต่ละเรคคอร์ดเหล่านั้นด้วยการเรียกแต่ละครั้งไปยังเซิร์ฟเวอร์

ไวยากรณ์

Remove( DataSource, Record1 [, Record2, ... ] [, RemoveFlags.All ] )

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

Remove( DataSource, Table [, RemoveFlags.All ] )

  • DataSource – จำเป็น แหล่งข้อมูลที่มีเรกคอร์ดที่คุณต้องการลบออก
  • Table - จำเป็น ตารางของเรกคอร์ดที่จะลบออก
  • RemoveFlags.All – เลือกได้ ในคอลเลกชัน เรกคอร์ดเดียวกันอาจปรากฏขึ้นมากกว่าหนึ่งครั้ง คุณสามารถเพิ่มอาร์กิวเมนต์ RemoveFlags.All เพื่อลบสำเนาของเรกคอร์ดออกทั้งหมด

RemoveIf( DataSource, Condition [, ... ] )

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

ตัวอย่าง - สูตรเดี่ยว

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

ตัวอย่างไอศกรีม

สร้างคอลเลกชันที่มีเรกคอร์ดตัวอย่าง

การสร้างคอลเลกชันด้วยข้อมูลนี้:

  1. แทรกตัวควบคุม ปุ่ม

  2. ตั้งค่าคุณสมบัติ OnSelect ของตัวควบคุม ปุ่ม เป็นสูตรด้านล่างนี้:

    ClearCollect( IceCream,
                  { ID: 1, Flavor: "Chocolate",  Quantity: 100 },
                  { ID: 2, Flavor: "Vanilla",    Quantity: 200 },
                  { ID: 3, Flavor: "Strawberry", Quantity: 300 }
    )
    
  3. เลือกปุ่ม ขณะที่กดแป้น Alt ค้างไว้:

ลบเรกคอร์ดตัวอย่างจากคอลเลกชันโดยใช้สูตร

สูตร รายละเอียด Result
Remove( IceCream,
LookUp( IceCream, Flavor="Chocolate" ))
ลบเรกคอร์ด ช็อกโกแลต ออกจากแหล่งข้อมูล ผลลัพธ์ด้วยวานิลลาและสตรอเบอร์รี่

แหล่งข้อมูล ไอศครีม ได้ถูกปรับเปลี่ยนแล้ว
Remove( IceCream,
LookUp( IceCream, Flavor="Chocolate" ), LookUp( IceCream, Flavor="Strawberry" ) )
ลบเรกคอร์ดสองเรกคอร์ดออกจากแหล่งข้อมูล ผลลัพธ์มีเพียงวานิลลา

แหล่งข้อมูล ไอศครีม ได้ถูกปรับเปลี่ยนแล้ว
RemoveIf( IceCream, Quantity > 150 ) ลบเรกคอร์ดที่มี ปริมาณ ที่มากกว่า 150 ออก ผลลัพธ์มีเพียงช็อกโกแลต

แหล่งข้อมูล ไอศครีม ได้ถูกปรับเปลี่ยนแล้ว
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 1 ) = "S" ) ลบเรกคอร์ดที่มี ปริมาณ มีค่ามากกว่า 150 และ รสชาติ ที่เริ่มต้นด้วย S ผลลัพธ์ที่ได้คือ ช็อคโกแลต และวานิลลา


แหล่งข้อมูล ไอศครีม ได้ถูกปรับเปลี่ยนแล้ว
RemoveIf( IceCream, true ) ลบเรกคอร์ดสองเรกคอร์ดออกจากแหล่งข้อมูล ผลลัพธ์ที่ไม่มีไอศกรีม

แหล่งข้อมูล ไอศครีม ได้ถูกปรับเปลี่ยนแล้ว

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

จัดทำข้อมูลตัวอย่าง

ตัวอย่างนี้ใช้ตาราง ผู้ติดต่อ ใน Microsoft Dataverse ที่สามารถใช้ได้กับ แอปตัวอย่างและข้อมูล คุณสามารถปรับใช้ แอปและข้อมูลตัวอย่าง เมื่อคุณ สร้างสภาพแวดล้อม คุณสามารถใช้แหล่งข้อมูลอื่นๆ แทนได้

ในตัวอย่างนี้ คุณจะลบรายการโดยใช้ ปุ่ม ที่อยู่นอกแกลเลอรี

  1. สร้าง แอปพื้นที่ทำงานว่างเปล่าใหม่ ใช้เค้าโครงโทรศัพท์

    แอปพื้นที่ทำงานว่างเปล่าใช้เค้าโครงโทรศัพท์

  2. เลือก แทรก จากบานหน้าต่างด้านซ้าย

  3. เลือก แกลเลอรี่แนวตั้ง
    ตัวควบคุม แกลเลอรี เพิ่มลงในหน้าจอของคุณ

    การใช้บานหน้าต่างเครื่องมือแทรก เพื่อเพิ่มตัวควบคุมแกลเลอรี่แนวตั้ง

  4. คุณจะได้รับแจ้งให้เลือกแหล่งข้อมูล ซึ่งคุณสามารถเลือกแหล่งข้อมูลจากแหล่งข้อมูลที่มีอยู่
    ตัวอย่างเช่น เลือกตาราง ผู้ติดต่อ เพื่อใช้งาน ข้อมูลตัวอย่าง:

    การเลือกตารางผู้ติดต่อที่จะแสดงในแกลเลอรี่

    แกลเลอรีแสดงรายการจากตารางนี้:

    เพิ่มแกลลอรีแสดงตารางผู้ติดต่อ

  5. แทรกตัวควบคุม ปุ่ม จากบานหน้าต่างด้านซ้าย:

    การใช้บานหน้าต่างเครื่องมือแทรก เพื่อเพิ่มตัวควบคุมปุ่ม

  6. ย้ายปุ่มที่เพิ่มไปไว้ด้านล่างรายการแกลเลอรี่:

    ย้ายปุ่ม

  7. อัปเดตคุณสมบัติข้อความของปุ่มเป็น ลบเรกคอร์ด คุณยังสามารถใช้ข้อความอื่นใดๆ ได้ตามต้องการ:

    เปลี่ยนชื่อปุ่ม

  8. ตั้งค่าคุณสมบัติ OnSelect ของตัวควบคุมปุ่มนี้ ด้วยสูตรต่อไปนี้:

    Remove( Contacts, Gallery1.Selected )
    

    การตั้งค่าคุณสมบัติ OnSelect ของตัวควบคุมปุ่ม

    ตัวควบคุมแกลเลอรีทำให้เรกคอร์ดที่เลือกในปัจจุบันพร้อมใช้งาน โดยใช้คุณสมบัติ Selected ฟังก์ชัน Remove อ้างถึงเรกคอร์ดที่เลือกนี้ เพื่อทำการลบ

  9. ดูตัวอย่างแอปโดยใช้ปุ่ม เล่น ด้านบนขวา หรือกด F5 บนแป้นพิมพ์:

    แสดงตัวอย่างแอป

  10. เลือกเรกคอร์ดที่จะลบเช่น เรกคอร์ดของ Nancy ในตัวอย่างนี้:

    เลือกเรกคอร์ด

  11. เลือก ลบเรกคอร์ด:

    แกลเลอรีผู้ติดต่อ ตอนนี้ไม่มีเรกคอร์ด Nancy ที่ถูกลบไปแล้ว

    การเลือกปุ่มจะลบเรกคอร์ดที่เลือก (ในตัวอย่างนี้เรกคอร์ดของ Nancy)

  12. ปิดการแสดงตัวอย่างแอป

    เคล็ดลับ

    คุณยังสามารถใช้ลักษณะการทำงานทางเลือกด้วย ปุ่ม Alt แทนที่จะใช้การแสดงตัวอย่างแอป ด้วยปุ่ม เล่น หรือ F5

ในตัวอย่างนี้ คุณจะลบรายการโดยใช้ ไอคอน ที่อยู่ในแกลเลอรี

สร้างคอลเลกชันที่มีข้อมูลตัวอย่าง

หากคุณมีอยู่แล้ว ข้อมูลตัวอย่างที่เตรียมไว้ ข้ามขั้นตอนนี้ และไปที่ ไอคอนถังขยะภายในแกลเลอรี่

  1. เพิ่มตัวควบคุม ปุ่ม ให้กับหน้าจอของคุณ

  2. ตั้งค่าคุณสมบัติ 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" }
    )
    
  3. เลือกปุ่ม ขณะที่กดแป้น Alt ค้างไว้

คอลเลกชันตัวอย่างที่สร้างขึ้นที่คุณสามารถใช้ในตัวอย่างต่อไปนี้

  1. สร้าง แอปพื้นที่ทำงานว่างเปล่าใหม่ ใช้เค้าโครงโทรศัพท์

    แอปพื้นที่ทำงานว่างเปล่าใช้เค้าโครงโทรศัพท์

  2. เลือก แทรก จากบานหน้าต่างด้านซ้าย

  3. เลือก แกลเลอรี่แนวตั้ง
    ตัวควบคุม แกลเลอรี เพิ่มลงในหน้าจอของคุณ

    การใช้บานหน้าต่างเครื่องมือแทรก เพื่อเพิ่มตัวควบคุมแกลเลอรี่แนวตั้ง

  4. คุณจะได้รับแจ้งให้เลือกแหล่งข้อมูล ซึ่งคุณสามารถเลือกแหล่งข้อมูลจากแหล่งข้อมูลที่มีอยู่
    ตัวอย่างเช่น เลือกตาราง ผู้ติดต่อ เพื่อใช้งาน ข้อมูลตัวอย่าง:

    การเลือกตารางผู้ติดต่อที่จะแสดงในแกลเลอรี่

    หากคุณสร้าง คอลเลกชัน เลือกคอลเลกชันของคุณแทน:

    คอลเลกชันผู้ติดต่อตัวอย่าง

  5. เลือกตัวควบคุมภายในรายการบนสุดในแกลเลอรี

    เพื่อให้แน่ใจว่าขั้นตอนต่อไปจะแทรกรายการลงในเทมเพลตของแกลเลอรี่และไม่ได้อยู่นอกแกลเลอ รีให้แน่ใจว่าคุณทำตามขั้นตอนนี้ก่อนที่จะย้ายไปยังขั้นตอนถัดไป

    เลือกเรกคอร์ดบนสุดในแกลเลอรี่

  6. เลือก เพิ่มไอคอน จากบานหน้าต่างด้านซ้าย

    การใช้บานหน้าต่างเครื่องมือแทรก เพื่อเพิ่มตัวควบคุมไอคอน

    หมายเหตุ

    เพิ่มไอคอน แทรกไอคอน + ทางด้านซ้ายของแกลเลอรี จำลองสำหรับแต่ละรายการในแกลเลอรี

  7. ในรายการด้านบน ให้ย้ายไอคอนไปทางด้านขวาของหน้าจอ

    ย้ายไอคอน

  8. เลือกคุณสมบัติ Icon สำหรับไอคอนและตั้งค่าเป็นสูตรต่อไปนี้เพื่ออัปเดตรูปไอคอนเป็นไอคอนถังขยะ:

    Icon.Trash
    

    หมายเหตุ

    คำนำหน้า ไอคอน จะปรากฏเฉพาะเมื่อคุณแก้ไขสูตรอย่างมีประสิทธิภาพ

    การเปลี่ยนไอคอนเป็นไอคอนถังขยะ

  9. ตั้งค่าคุณสมบัติ OnSelect เป็นสูตรต่อไปนี้:

    Remove( [@Contacts], ThisItem )
    

    หมายเหตุ

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

    OnSelect สำหรับไอคอนถังขยะ

  10. ดูตัวอย่างแอปโดยใช้ปุ่ม เล่น ด้านบนขวา หรือกด F5 บนแป้นพิมพ์

  11. เลือกไอคอนถังขยะถัดจากเรกคอร์ด ตัวอย่างเช่น Maria's:

    แกลเลอรีที่มีผู้ติดต่อหนึ่งรายการที่ถูกลบ

    เรกคอร์ดถูกลบ:

    เรกคอร์ดที่ลบ

  12. ปิดการแสดงตัวอย่างแอป