แชร์ผ่าน


ฟังก์ชัน 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 และที่เริ่มต้นด้วยข้อมูลในตารางนี้:

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

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

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

  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
ลบ( ไอศกรีม,
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 ที่สามารถใช้ได้กับ แอปตัวอย่างและข้อมูล คุณสามารถปรับใช้ แอปและข้อมูลตัวอย่าง เมื่อคุณ สร้างสภาพแวดล้อม คุณสามารถใช้แหล่งข้อมูลอื่นๆ แทนได้

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

  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. ปิดการแสดงตัวอย่างแอป