ข้อควรพิจารณาในการแมปเขตข้อมูลสําหรับกระแสข้อมูลมาตรฐาน

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

การควบคุมว่ากระแสข้อมูลสร้างหรือบันทึก upsert การรีเฟรชแต่ละครั้ง

แต่ละครั้งที่คุณรีเฟรชกระแสข้อมูล จะดึงข้อมูลระเบียนจากแหล่งข้อมูลและโหลดลงใน Dataverse ถ้าคุณเรียกใช้กระแสข้อมูลมากกว่าหนึ่งครั้ง—ขึ้นอยู่กับวิธีที่คุณกําหนดค่ากระแสข้อมูล—คุณสามารถ:

  • สร้างระเบียนใหม่สําหรับการรีเฟรชกระแสข้อมูลแต่ละครั้ง แม้ว่าจะมีระเบียนดังกล่าวอยู่ในตารางปลายทางอยู่แล้วก็ตาม
  • สร้างเรกคอร์ดใหม่ถ้ายังไม่มีในตาราง หรืออัปเดตเรกคอร์ดที่มีอยู่หากมีอยู่ในตารางอยู่แล้ว ลักษณะการทํางานนี้เรียกว่า upsert

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

คอลัมน์คีย์คือคอลัมน์ที่ไม่ซ้ํากันและชี้เฉพาะของแถวข้อมูลในตาราง ตัวอย่างเช่น ในตาราง Orders ถ้า Order ID เป็นคอลัมน์หลัก คุณไม่ควรมีสองแถวที่มีรหัสคําสั่งซื้อเดียวกัน นอกจากนี้ หนึ่งรหัสคําสั่งซื้อ— สมมติว่าคําสั่งซื้อที่มี ID 345 ควรแสดงเพียงหนึ่งแถวในตาราง หากต้องการเลือกคอลัมน์หลักสําหรับตารางใน ผกผันข้อมูลจากกระแสข้อมูล คุณจําเป็นต้องตั้งค่าเขตข้อมูลหลักในประสบการณ์การใช้งานตารางแผนที่

การเลือกชื่อหลักและเขตข้อมูลคีย์เมื่อสร้างตารางใหม่

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

คีย์หลักและคีย์สํารองเหมือนกัน

เขตข้อมูลชื่อหลักที่คุณเห็นในการแมปเขตข้อมูลมีไว้สําหรับเขตข้อมูลป้ายชื่อ เขตข้อมูลนี้ไม่จําเป็นต้องไม่ซ้ํากัน เขตข้อมูลที่ใช้ในตารางสําหรับการตรวจสอบการทําสําเนา คือเขตข้อมูลที่คุณตั้งค่าไว้ใน เขตข้อมูล คีย์ สํารอง

การมีคีย์หลักในตารางช่วยให้แน่ใจว่า แม้ว่าคุณจะมีข้อมูลที่ซ้ํากันในเขตข้อมูลที่แมปกับคีย์หลัก แต่รายการซ้ําจะไม่โหลดลงในตาราง ลักษณะการทํางานนี้จะช่วยให้ข้อมูลในตารางมีคุณภาพสูง ข้อมูลคุณภาพสูงเป็นสิ่งจําเป็นในการสร้างโซลูชันการรายงานตามตาราง

เขตข้อมูลชื่อหลัก

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

เขตข้อมูลคีย์สํารองคือสิ่งที่ใช้เป็นคีย์หลัก

การเลือกเขตข้อมูลหลักเมื่อโหลดไปยังตารางที่มีอยู่

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

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

การเลือกคีย์เพื่อสํารองข้อมูลลงในตาราง Dataverse

การตั้งค่าคอลัมน์ Unique ID ของตารางและใช้เป็นเขตข้อมูลหลักสําหรับการเพิ่มระเบียนลงในตาราง Dataverse ที่มีอยู่

แถวตาราง Microsoft Dataverse ทั้งหมดมีตัวระบุที่ไม่ซ้ํากันซึ่งกําหนดเป็น GUID GUID เหล่านี้เป็นคีย์หลักสําหรับแต่ละตาราง ตามค่าเริ่มต้น คีย์หลักของตารางไม่สามารถตั้งค่าได้โดยกระแสข้อมูล และถูกสร้างขึ้นโดยอัตโนมัติโดย Dataverse เมื่อสร้างเรกคอร์ด มีกรณีการใช้งานขั้นสูงที่การใช้ประโยชน์จากคีย์หลักของตารางเป็นที่ต้องการได้ ตัวอย่างเช่น การรวมข้อมูลกับแหล่งข้อมูลภายนอกในขณะที่ยังคงรักษาค่าคีย์หลักเดียวกันทั้งในตารางภายนอกและตาราง Dataverse

หมายเหตุ

  • ความสามารถนี้จะพร้อมใช้งานเมื่อโหลดข้อมูลไปยังตารางที่มีอยู่เท่านั้น
  • เขตข้อมูลตัวระบุที่ไม่ซ้ํากันยอมรับเฉพาะสตริงที่ประกอบด้วยค่า GUID ชนิดข้อมูลอื่น ๆ หรือค่าอื่น ๆ ทําให้การสร้างเรกคอร์ดล้มเหลว

หากต้องการใช้ประโยชน์จากเขตข้อมูลตัวระบุที่ไม่ซ้ํากันของตาราง ให้เลือก โหลดไปยังตารางที่มีอยู่ในหน้า ตารางแผนที่ ในขณะที่เขียนกระแสข้อมูล ในตัวอย่างที่แสดงในรูปภาพที่ตามมา ซึ่งจะโหลดข้อมูลลงใน ตาราง CustomerTransactions และใช้ คอลัมน์ TransactionID จากแหล่งข้อมูลเป็นตัวระบุที่ไม่ซ้ํากันของตาราง

โปรดสังเกตว่าใน ดรอปดาวน์เลือกคีย์ ตัวระบุที่ไม่ซ้ํากันซึ่งตั้งชื่อเสมอว่า "tablename + id" ของตารางสามารถเลือกได้ เนื่องจากชื่อตารางเป็น "CustomerTransactions" เขตข้อมูลตัวระบุที่ไม่ซ้ํากันจะมีชื่อว่า "CustomerTransactionId"

การเลือกคีย์หลักเพื่อสํารองข้อมูลลงในตาราง Dataverse

เมื่อเลือกแล้ว ส่วนการแมปคอลัมน์จะได้รับการอัปเดตเพื่อรวมตัวระบุที่ไม่ซ้ํากันเป็นคอลัมน์ปลายทาง จากนั้นคุณสามารถแมปคอลัมน์ต้นทางที่แสดงตัวระบุที่ไม่ซ้ํากันสําหรับแต่ละระเบียนได้

การแมปข้อมูลไปยังคอลัมน์ตัวระบุที่ไม่ซ้ํากัน

ผู้สมัครที่ดีสําหรับเขตข้อมูลหลักคืออะไร

เขตข้อมูลคีย์เป็นค่าที่ไม่ซ้ํากันซึ่งแสดงแถวที่ไม่ซ้ํากันในตาราง สิ่งสําคัญคือต้องมีเขตข้อมูลนี้เนื่องจากจะช่วยให้คุณหลีกเลี่ยงการมีระเบียนที่ซ้ํากันในตาราง ฟิลด์นี้สามารถมาจากแหล่งที่มาสามแหล่ง:

  • คีย์หลักในระบบต้นทาง (เช่น OrderID ในตัวอย่างก่อนหน้า) เขตข้อมูลแบบเชื่อมเข้าด้วยกันที่สร้างขึ้นผ่านการแปลง Power Query ในกระแสข้อมูล

    การผสานคอลัมน์เพื่อสร้างคอลัมน์ที่ไม่ซ้ํากันซึ่งเชื่อมเข้าด้วยกัน

  • การรวมกันของเขตข้อมูลที่จะเลือกใน ตัวเลือกคีย์ สํารอง การรวมกันของเขตข้อมูลที่ใช้เป็นเขตข้อมูลหลักยังเรียกว่า คีย์แบบรวม

    การสร้างคีย์แบบรวมผ่านการแมปเขตข้อมูล

ลบแถวที่ไม่มีอยู่อีกต่อไป

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

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

ลบแถวที่ไม่มีอยู่อีกต่อไป

หมายเหตุ

กระแสข้อมูล V2 มาตรฐานอาศัย createdon เขตข้อมูล และ modifiedon เพื่อลบแถวที่ไม่มีอยู่ในกระแสข้อมูลออก จากตารางปลายทาง ถ้าคอลัมน์เหล่านั้นไม่มีอยู่ในตารางปลายทาง ระเบียนจะไม่ถูกลบ

ข้อจำกัดที่ทราบ

  • ไม่รองรับการแมปไปยัง เขตข้อมูลการค้นหา polymorphic
  • การแมปไปยังเขตข้อมูลการค้นหาหลายระดับ การค้นหาที่ชี้ไปยังเขตข้อมูลการค้นหาของตารางอื่นไม่ได้รับการสนับสนุน
  • การแมปไปยังเขตข้อมูลสถานะและเหตุผลสถานะไม่ได้รับการสนับสนุนในขณะนี้
  • การแมปข้อมูลลงในข้อความหลายบรรทัดที่มีอักขระตัวแบ่งบรรทัดไม่ได้รับการสนับสนุน และตัวแบ่งบรรทัดจะถูกเอาออก แต่คุณสามารถใช้แท็ก <br> ตัวแบ่งบรรทัดเพื่อโหลดและรักษาข้อความหลายบรรทัดได้
  • การแมปไปยัง เขตข้อมูลตัวเลือก ที่กําหนดค่าด้วยตัวเลือกหลายตัวเลือกที่เปิดใช้งานได้รับการสนับสนุนภายใต้เงื่อนไขบางอย่างเท่านั้น กระแสข้อมูลจะโหลดข้อมูลไปยัง เขตข้อมูลตัวเลือก โดยเปิดใช้งานตัวเลือกหลายตัวเลือกและรายการค่า (จํานวนเต็ม) ที่ใช้จุลภาคเป็นตัวคั่น ตัวอย่างเช่น ถ้าป้ายชื่อเป็น "Choice1, Choice2, Choice3" ที่มีค่าจํานวนเต็มที่สอดคล้องกันของ "1, 2, 3" ดังนั้นค่าของคอลัมน์ควรเป็น "1,3" เพื่อเลือกตัวเลือกแรกและสุดท้าย
  • กระแสข้อมูล V2 มาตรฐานอาศัย createdon เขตข้อมูล และ modifiedon เพื่อลบแถวที่ไม่มีอยู่ในกระแสข้อมูลออก จากตารางปลายทาง ถ้าคอลัมน์เหล่านั้นไม่มีอยู่ในตารางปลายทาง ระเบียนจะไม่ถูกลบ
  • การแมปไปยังเขตข้อมูลที่มีการตั้งค่าfalseคุณสมบัติ IsValidForCreate เป็น ไม่ได้รับการสนับสนุน (ตัวอย่างเช่น เขตข้อมูลบัญชีของเอนทิตีผู้ติดต่อ)