ฟังก์ชัน Relate และ Unrelate

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

เรกคอร์ด Relate และ Unrelate ของสองตารางผ่านความสัมพันธ์แบบหนึ่งต่อกลุ่มหรือกลุ่มต่อกลุ่ม

รายละเอียด

ฟังกัน Relate ลิงก์สองเรกคอร์ดผ่านความสัมพันธ์แบบหนึ่งต่อกลุ่มหรือกลุ่มต่อกลุ่ม ใน Microsoft Dataverse ฟังก์ชัน Unrelate กลับกระบวนการและลบการเชื่อมโยง

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

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

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

ฟังก์ชันเหล่านี้ไม่เคยสร้างหรือลบเรกคอร์ด พวกเขาเกี่ยวข้องหรือไม่เกี่ยวข้องสองเรกคอร์ดที่มีอยู่แล้ว

คุณสามารถใช้ฟังก์ชันเหล่านี้ ใน สูตรลักษณะการทำงาน เท่านั้น

หมายเหตุ

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

ไวยากรณ์

Relate( Table1RelatedTable, Table2Record )

  • Table1RelatedTable - จำเป็น สำหรับเรกคอร์ดของ Table1 ตารางของเรกคอร์ด Table2 ที่เกี่ยวข้องผ่านความสัมพันธ์แบบหนึ่งต่อกลุ่มหรือแบบกลุ่มต่อกลุ่ม
  • Table2Record - จำเป็น เรกคอร์ด Table2 เพื่อเพิ่มความสัมพันธ์

Unrelate( Table1RelatedTable, Table2Record )

  • Table1RelatedTable - จำเป็น สำหรับเรกคอร์ดของ Table1 ตารางของเรกคอร์ด Table2 ที่เกี่ยวข้องผ่านความสัมพันธ์แบบหนึ่งต่อกลุ่มหรือแบบกลุ่มต่อกลุ่ม
  • Table2Record - จำเป็น เรกคอร์ด Table2 เพื่อเอาออกจากความสัมพันธ์

ตัวอย่าง

พิจารณาตาราง ผลิตภัณฑ์ ที่มีความสัมพันธ์ต่อไปนี้ตามที่เห็นใน โปรแกรมดูตารางของพอร์ทัล Power Apps:

ชื่อที่แสดงความสัมพันธ์ ตารางที่เกี่ยวข้อง ชนิดความสัมพันธ์
การสำรองผลิตภัณฑ์ การจอง แบบหนึ่งต่อกลุ่ม
ผลิตภัณฑ์ ↔ ผู้ติดต่อ ติดต่อ กลุ่มต่อกลุ่ม

ผลิตภัณฑ์ และ การจอง สัมพันธ์กันผ่านความสัมพันธ์แบบหนึ่งต่อกลุ่ม หากต้องการเชื่อมโยงเรกคอร์ดแรกของตาราง การจอง ที่มีเรกคอร์ดแรกของตาราง ผลิตภัณฑ์:

Relate( First( Products ).Reservations, First( Reservations ) )

หากต้องการลบความสัมพันธ์ระหว่างเรกคอร์ดเหล่านี้:

Unrelate( First( Products ).Reservations, First( Reservations ) )

เราไม่ได้สร้างหรือลบหรือเรกคอร์ดในเวลาเพียงความสัมพันธ์ระหว่างเรกคอร์ดได้รับการแก้ไข

ผลิตภัณฑ์ และ ผู้ติดต่อ สัมพันธ์กันผ่านความสัมพันธ์แบบกลุ่มต่อกลุ่ม หากต้องการเชื่อมโยงเรกคอร์ดแรกของตาราง ผู้ติดต่อ ที่มีเรกคอร์ดแรกของตาราง ผลิตภัณฑ์:

Relate( First( Products ).Contacts, First( Contacts ) )

เนื่องจาก ความสัมพันธ์แบบกลุ่มต่อกลุ่มมีความสมมาตร เราอาจทำสิ่งนี้ในทิศทางตรงกันข้าม:

Relate( First( Contacts ).Products, First( Products ) )

หากต้องการลบความสัมพันธ์ระหว่างเรกคอร์ดเหล่านี้:

Unrelate( First( Products ).Contacts, First( Contacts ) )

or:

Unrelate( First( Contacts ).Products, First( Products ) )

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

ตัวอย่างเหล่านี้ขึ้นอยู่กับข้อมูลตัวอย่างที่ติดตั้งในสภาพแวดล้อมของคุณ ทั้ง สร้างสภาพแวดล้อมการทดลองรวมถึงข้อมูลตัวอย่าง หรือ เพิ่มข้อมูลตัวอย่างให้กับสภาพแวดล้อมที่มีอยู่.

แบบหนึ่งต่อกลุ่ม

ฟังก์ชัน Relate

คุณจะสร้างแอปอย่างง่ายก่อน เพื่อดูและกำหนดการจองที่เกี่ยวข้องกับผลิตภัณฑ์อีกครั้ง

  1. สร้าง แอปแท็บเล็ตจากว่างเปล่า

  2. บนแท็บ มุมมอง เลือก แหล่งข้อมูล

  3. ในบานหน้าต่าง ข้อมูล เลือก เพิ่มข้อมูล> เลือก ผลิตภัณฑ์
    ตารางผลิตภัณฑ์เป็นส่วนหนึ่งของข้อมูลตัวอย่างที่โหลดด้านบน

  4. บนแท็บ แทรก เพิ่มตัวควบคุม แกลเลอรี ว่างเปล่าแนวตั้ง

  5. ตรวจสอบให้แน่ใจว่ามีตัวควบคุม ชื่อ Gallery1 ที่คุณเพิ่งเพิ่มเข้าไป แล้วย้ายและปรับขนาดเพื่อเติมด้านซ้ายของหน้าจอ

  6. บนแท็บ คุณสมบัติ ตั้งค่าคุณสมบัติ Items ของ Gallery1 เป็น ผลิตภัณฑ์ และ Layout เป็น รูปภาพและชื่อเรื่อง

    กำหนดค่า ProductsGallery

  7. ใน Gallery1 ตรวจสอบให้แน่ใจว่าตัวควบคุม ป้ายชื่อ ชื่อ TITLE1 แล้วตั้งค่าคุณสมบัติ Text เป็น ThisItem.Name

    กำหนดค่าป้ายกำกับใน Gallery1

  8. เลือกหน้าจอเพื่อหลีกเลี่ยงการแทรกรายการถัดไป ไปยัง Gallery1 เพิ่มตัวควบคุม แกลเลอรี แนวตั้งที่ว่างเปล่าที่สอง และตรวจสอบให้แน่ใจว่าชื่อ Gallery2

    Gallery2 จะแสดงการจองผลิตภัณฑ์ใดๆ ที่ผู้ใช้เลือก ใน Gallery1

  9. ย้ายและปรับขนาด Gallery2 เพื่อเติมจตุภาคของมุมขวาบนของหน้าจอ

  10. (ไม่บังคับ) เพิ่มตัวควบคุม ป้ายชื่อ สีน้ำเงิน ไว้เหนือ Gallery2 ดังที่แสดงในกราฟิกถัดไป

  11. ในแถบสูตรตั้งค่าคุณสมบัติ Items ของ Gallery2 เป็น Gallery1.Selected.Reservations

    กำหนดค่ารายการ Gallery2

  12. ในบานหน้าต่างคุณสมบัติ ตั้งค่า เค้าโครง ของ Gallery2 เป็น ชื่อ

    กำหนดค่าเค้าโครง Gallery2

  13. ใน Gallery2 เพิ่มตัวควบคุม กล่องคำสั่งผสม ตรวจสอบให้แน่ใจว่าชื่อ ComboBox1 แล้วย้ายและปรับขนาดเพื่อหลีกเลี่ยงการบล็อกตัวควบคุมอื่นๆ Gallery2

  14. บนแท็บ คุณสมบัติ ตั้งค่าคุณสมบัติ Items ของ ComboBox1 เป็น ผลิตภัณฑ์

    ตั้งค่าคุณสมบัติ Items เป็นผลิตภัณฑ์

  15. เลื่อนลงไปที่แท็บ คุณสมบัติ แและตั้งค่า คุณสมบัติ Allow multiple selection ของ ComboBox1 เป็น ปิด

    ตั้งค่าอนุญาตให้เลือกหลายรายการ เป็น ปิด

  16. ในแถบสูตร ให้ตั้งค่าคุณสมบัติ DefaultSelectedItems ของ ComboBox1 เป็น ThisItem.'Product Reservation'

    ตั้งค่า DefaultSelectedItems สำหรับ ReserveCombo

  17. ใน Gallery2 ตั้งค่า คุณสมบัติ OnSelect ของ NextArrow2 เป็นสูตรนี้:

    Relate( ComboBox1.Selected.Reservations, ThisItem )
    

    เมื่อผู้ใช้เลือกไอคอนนี้ การจองปัจจุบันจะเปลี่ยนเป็นผลิตภัณฑ์ที่ผู้ใช้เลือก ใน ComboBox1

    กำหนดค่า NextArrow2

  18. กด F5 เพื่อทดสอบแอปในโหมดดูตัวอย่าง

ด้วยแอปนี้ ผู้ใช้สามารถย้ายการจองจากผลิตภัณฑ์หนึ่งไปยังอีกผลิตภัณฑ์หนึ่งได้ สำหรับการจองผลิตภัณฑ์เดียว ผู้ใช้สามารถเลือกผลิตภัณฑ์อื่นได้ ใน ComboBox1 จากนั้นเลือก NextArrow2 เพื่อเปลี่ยนการจอง

แสดงให้เห็นถึงฟังก์ชัน Relate ในแอปแบบหนึ่งต่อกลุ่ม

ฟังก์ชัน Unrelate

ณ จุดนี้ คุณสามารถย้ายความสัมพันธ์จากเรกคอร์ดหนึ่งไปยังอีกเรกคอร์ดหนึ่ง แต่คุณไม่สามารถลบความสัมพันธ์ทั้งหมดได้ คุณสามารถใช้ฟังก์ชัน Unrelate เพื่อตัดการเชื่อมต่อเรกคอร์ดการจองจากผลิตภัณฑ์ใดๆ

  1. บนแท็บ มุมมอง เลือก แหล่งข้อมูล

  2. ในบานหน้าต่าง ข้อมูล เลือก เพิ่มแหล่งข้อมูล>Microsoft Dataverse>การจอง>เชื่อมต่อ

  3. ใน Gallery2 ตั้งค่า สูตร OnSelect สำหรับ NextArrow2 เป็นสูตรนี้:

    If( IsBlank( ComboBox1.Selected ),
        Unrelate( Gallery1.Selected.Reservations, ThisItem ),
        Relate( ComboBox1.Selected.Reservations, ThisItem )
    );
    Refresh( Reservations )
    

    กำหนดค่าไอคอนขวา

  4. คัดลอก Gallery2 ไปที่คลิปบอร์ด โดยการเลือก แล้วกด Ctrl-C

  5. วางสำเนาของ Gallery2 ไปที่หน้าจอเดียวกัน โดยกด Ctrl-V จากนั้นย้ายไปยังจตุภาคที่ด้านล่างขวาของหน้าจอ

  6. (ไม่บังคับ) หากคุณเพิ่มป้ายกำกับด้านบน Gallery2 ทำซ้ำสองขั้นตอนก่อนหน้าสำหรับป้ายกำกับนั้น

  7. ให้แน่ใจว่าสำเนสของ Gallery2 มีชื่อ Gallery2_1 แล้วตั้งค่าคุณสมบัติ Items เป็นในสูตรนี้:

    Filter( Reservations, IsBlank( 'Product Reservation' ) )
    

    คำเตือนการมอบหมายปรากฏขึ้น แต่จะไม่สำคัญกับข้อมูลจำนวนเล็กน้อยในตัวอย่างนี้

    ตั้งค่าคุณสมบัติ Items ของ Gallery2_1

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

แสดงให้เห็นถึงฟังก์ชัน Relate และ Unrelate ในแอปแบบหนึ่งต่อกลุ่ม

กลุ่มต่อกลุ่ม

สร้างความสัมพันธ์แบบกลกุ่มต่อกลุ่ม

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

  1. จาก หน้านี้, เลือก ข้อมูล ในแถบนำทางด้านซ้าย จากนั้นเลือก ตาราง

    เปิดรายการของตาราง

  2. เปลี่ยนตัวกรองตารางเพื่อรวมตารางทั้งหมด

    ตามค่าเริ่มต้น ตารางตัวอย่างจะไม่ปรากฏขึ้น

    นำตัวกรองตารางออก

  3. เลื่อนลงมา เปิดตาราง ผลิตภัณฑ์ แล้วเลือก ความสัมพันธ์

  4. เลือก เพิ่มความสัมพันธ์>แบบกลุ่มต่อกลุ่ม

  5. เลือกตาราง ผู้ติดต่อ สำหรับความสัมพันธ์

  6. เลือก เสร็จสิ้น>บันทึกตาราง

ผู้ติดต่อที่เกี่ยวข้องและไม่เกี่ยวข้องกับผลิตภัณฑ์อย่างน้อยหนึ่งรายการ

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

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

  2. เพิ่มตัวควบคุมแนวตั้ง แกลเลอรี ที่ว่างเปล่าอีก ตรวจสอบให้แน่ใจว่าชื่อ Gallery2 จากนั้นย้ายไปไว้ที่มุมขวาบนของหน้าจอ

    ในภายหลังในหัวข้อนี้ คุณจะต้องเพิ่มตัวควบคุม กล่องคำสั่งผสม ภายใต้ Gallery2

  3. ในแถบสูตร ตั้งค่าคุณสมบัติ Items ของ Gallery2 เป็น Gallery1.Selected.Contacts

    กำหนดค่า ContactsGallery - คุณสมบัติ Items

  4. บนแท็บ คุณสมบัติ ตั้งค่า เค้าโครง เป็น รูปภาพและชื่อเรื่อง

    กำหนดค่า ContactsGallery - เค้าโครง

  5. ใน Gallery2 ตรวจสอบให้แน่ใจว่า ตัวควบคุม ป้ายชื่อ ชื่อ Title2 แล้วตั้งค่าคุณสมบัติ Text เป็น ThisItem.'Full Name'

    จะไม่มีข้อความปรากฏขึ้นในส่วนควบคุมนั้นจนกว่าคุณจะทำตามขั้นตอนนี้จนเสร็จ และกำหนดผู้ติดต่อให้กับผลิตภัณฑ์

    แสดงชื่อผู้ติดต่อ

  6. ลบ NextArrow2 แทรกไอคอน ยกเลิก และตรวจสอบให้แน่ใจว่าได้ตั้งชื่อ icon1 แล้ว

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

    Unrelate( Gallery1.Selected.Contacts, ThisItem )
    

    กำหนดค่าไอคอนยกเลิก

  8. บนแท็บ มุมมอง เลือก แหล่งข้อมูล

  9. ในบานหน้าต่าง ข้อมูล เลือก เพิ่มแหล่งข้อมูล>Microsoft Dataverse>ผู้ติดต่อ>เชื่อมต่อ

  10. ภายใต้ Gallery2 เพิ่มตัวควบคุม กล่องคำสั่งผสม ตรวจสอบให้แน่ใจว่าชื่อ ComboBox1 แล้วตั้งค่าคุณสมบัติ Items เป็น ผู้ติดต่อ

    กำหนดค่าคุณสมบัติ Items ของกล่องคำสั่งผสม

  11. บนแท็บ คุณสมบัติ ตั้งค่า อนุญาตให้เลือกหลายรายการ เป็น ปิด

    กำหนดค่าคุณสมบัติ Layout ของกล่องคำสั่งผสม

  12. แทรกไอคอน เพิ่ม และตั้งค่าคุณสมบัติ OnSelect เป็นสูตรดังนี้:

    Relate( Gallery1.Selected.Contacts, ComboBox1.Selected )
    

    กำหนดค่าไอคอน เพิ่ม

ด้วยแอปนี้ ผู้ใช้สามารถเชื่อมโยงและยกเลิกการเชื่อมโยงกลุ่มผู้ติดต่อกับแต่ละผลิตภัณฑ์ได้อย่างอิสระ

  • หากต้องการเพิ่มผู้ติดต่อในผลิตภัณฑ์ ให้เลือกผู้ติดต่อในกล่องคำสั่งผสมที่ด้านล่างของหน้าจอ แล้วเลือกไอคอน เพิ่ม

  • หากต้องการลบผู้ติดต่อออกจากผลิตภัณฑ์ให้เลือกไอคอน ยกเลิก สำหรับผู้ติดต่อนั้น

    ความสัมพันธ์แบบกลุ่มต่อกลุ่มแตกต่างกันแบบหนึ่งต่อกลุ่ม ช่วยให้ผู้ใช้สามารถเชื่อมโยงผู้ติดต่อรายเดียวกันกับผลิตภัณฑ์หลายๆ ตัวได้

แสดงให้เห็นถึงฟังก์ชัน Relate และ Unrelate ในแอปแบบกลุ่มต่อกลุ่ม

ในทางกลับกัน: เชื่อมโยงและไม่เชื่อมโยงผลิตภัณฑ์กับผู้ติดต่อหลายคน

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

  1. ตั้งค่าคุณสมบัติ OnVisible ของ screen1 เป็น Refresh( Products )

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

    ตั้งค่าคุณสมบัติ OnVisible เป็นฟังก์ชัน Refresh

  2. สำเนา Screen1

    สำเนาจะถูกตั้งชื่อ Screen1_1 และฟอร์มจากพื้นฐานสำหรับการค้นหาความสัมพันธ์จากด้านผู้ติดต่อ

    สำเนาหน้าจอ

  3. ในการสร้างมุมมองย้อนกลับ ให้เปลี่ยนสูตรเหล่านี้ในส่วนควบคุม Screen1_1:

    • Screen1_1.OnVisible = Refresh( Contacts )
    • Gallery1_1.Items = Contacts
    • Title1_1.Text = ThisItem.'Full Name'
    • Label1_1.Text = "Selected Contact Products"
    • Gallery2_1.Items = Gallery1_1.Selected.Products
    • Title2_1.Text = ThisItem.Name
    • Icon1_1.OnSelect = Unrelate( Gallery1_1.Selected.Products, ThisItem )
    • ComboBox1_1.Items = Products
    • Icon2_1.OnSelect = Relate( Gallery1_1.Selected.Products, ComboBox1_1.Selected )

    ผลลัพธ์จะมีลักษณะคล้ายกับหน้าจอก่อนหน้า แต่มีความสัมพันธ์จากฝั่ง ผู้ติดต่อ

    แสดงความสัมพันธ์แบบกลุ่มต่อกลุ่มโดยเริ่มจากผู้ติดต่อ

  4. แทรกไอคอน ลูกศรขึ้นลง และตั้งค่าคุณสมบัติ OnSelect เป็น Navigate( Screen1, None ) ทำสิ่งเดียวกันบน Screen1 ด้วยสูตร Navigate( Screen1_1, None )

    เพิ่มการนำทางระหว่างหน้าจอ

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

แสดงให้เห็นถึงความสัมพันธ์แบบกลุ่มต่อกลุ่มจากทั้งสองด้าน